Java 如何mdify computeBalance()方法以确保金额为正且不含美分?

Java 如何mdify computeBalance()方法以确保金额为正且不含美分?,java,swing,exception,methods,jtextfield,Java,Swing,Exception,Methods,Jtextfield,如何修改computeBalance()以确保JTextField中输入的金额为正数(我想我是这样做的)并且没有美分?示例:100.19和-49.8是不可接受的 public class ATMbizlogic { private double totalBalance; private boolean rightPinEntered; /** * Creates a new instance of ATMbizlogic */ pub

如何修改
computeBalance()
以确保
JTextField
中输入的金额为正数(我想我是这样做的)并且没有美分?示例:100.19和-49.8是不可接受的

public class ATMbizlogic {

    private double totalBalance;
    private boolean rightPinEntered;



    /**
     * Creates a new instance of ATMbizlogic
     */
    public ATMbizlogic() 
    {
        totalBalance = 0.0;
        rightPinEntered =  true;
    }

    public void computeBalance(double withdraw, double deposit)
    throws ATMexception 
    {
        if(withdraw <=0)
            throw new ATMexception("Negative withdraw not allowed");


        if(deposit <=0)
            throw new ATMexception("Negative deposit not allowed");


         double balance = deposit - withdraw;

        totalBalance = totalBalance + balance;



    }



    public void checkPin(double pin)
    throws ATMexception 
    {
        if(pin <=0)
            throw new ATMexception("Negative pin not allowed");
        if(rightPinEntered == false)
            throw new ATMexception("Can not take another pin");
        if(pin<1111 || pin>9999)
            throw new ATMexception("Enter a valid pin");
        rightPinEntered = true;


    }




    public double getBalance()
    {
        return totalBalance;
    }
}
公共类ATMbizlogic{
私人双重平衡;
私有布尔右中心;
/**
*创建ATMbizlogic的新实例
*/
公共ATMbizlogic()
{
总余额=0.0;
右中心=真;
}
公共作废计算余额(双倍取款、双倍存款)
抛出异常
{
如果(撤回)

这将对数字进行四舍五入,并检查它们是否仍然是相同的数字。如果不是,则意味着它有一个小数。

好吧……杰森,问题出在哪里?使用
int
long
而不是
double
if(floor(withdraw) != withdraw)
    throw new ATMexception("Withdraw with cents is not allowed.");

if(floor(deposit) != deposit)
    throw new ATMexception("Deposit with cents is not allowed.");