Java:如何在租赁应用程序中设置布尔变量以查看是否已付款?

Java:如何在租赁应用程序中设置布尔变量以查看是否已付款?,java,boolean,Java,Boolean,以下是我的主文件中的代码: if(passUser.checkIfAlreadyPaid()){ System.out.println("You have already paid!"); } else{ System.out.println("Your bill of $" + passUser.getBill() + " has been paid. Thank you!"); passUser.hasPaid(); } 下面

以下是我的主文件中的代码:

    if(passUser.checkIfAlreadyPaid()){
        System.out.println("You have already paid!");
    }
    else{
    System.out.println("Your bill of $" + passUser.getBill() + " has been paid. Thank you!");
    passUser.hasPaid();
    }
下面是我的类文件中的代码:

public boolean hasPaid(){
    return true;
}

public boolean checkIfAlreadyPaid(){
    if(this.hasPaid()){
        return true;
    }
    else return false;
}

当我运行主文件时,在第一次运行时,它告诉我我已经支付了。我觉得我是在把一些简单的事情弄得太复杂了。有人能帮忙吗?

在您的代码片段中,haspayd()方法总是正确的。因此,您将始终具有相同的输出。我的建议是,covert已向字段付费,并使用setter或getter来设置和获取值

private boolean hasPaid;

public void setHasPaid(boolean value) {
   this.hasPaid = value;
}

public boolean getHasPaid(){
   return this.hasPaid;
}

因为这正是你在代码中写的。如果您不希望它总是返回
true
,请让它执行其他操作。让我直说。你在问为什么
返回true
总是返回true?haspayed是一个方法,你应该用setter和getter将它存储在一个变量中-然后检查这个是否正确。haspayed-好的开始,但是他现在如何构造对这些方法的调用?@Jason,他需要基于存储在某处的某些值(数据库或硬编码)的条件稍后设置并获取haspayed变量。换句话说,haspay必须来自某个地方。YUI265没有分享这个细节。