异常:java 类布尔值在调用时返回系统打印语句



我的代码只是一些类,我最近的一个是承认的类,当我尝试打印时它会导致问题。 这是代码 -

客户.java

class Customerrr {
String name;
int age;
float money;
public Customerrr(String initName, int initAge) {
name = initName;
age = initAge;
}
public Customerrr(String initName, int initAge, float initMoney) {
name = initName;
age = initAge;
money = initMoney;
}
public Customerrr() {
}
public double computeFee() {
//adult fee $12.75 anyone 18+
//3 and under no fee
//65 or oldr %50
//4 to 17 $8.50
double result;
if (age < 3) {
result = 0.0;
}
else if (age < 17){
result = 8.50;
}
else if (age < 64) {
result = 12.75;
}
else {
result = 12.75/2;
}
return result;
}
public boolean spend(float amount) {
boolean checker;
if (amount > money) {
amount = (float) (amount - computeFee());
checker = true;
}
else {
amount = amount;
checker = false;
}
return checker;
}
public boolean hasMoreMoneyThan(Customerrr c){
boolean result;
if (money > c.money) {
result = true;
}
else {
result = false;
}
return result;
}
public boolean payAdmission() {
System.out.println(name + " has paid $" + computeFee() + " for admission");
boolean result;
if (spend(money)) {
result = true;
}
else {
result = false;
}
return result;
}
public boolean admitted () {
boolean result;
if (payAdmission()) {
result = true;
}
else {
result = false;
}
return result;
}
}

在这里,我的类带有main方法,它实例化Customer并在其上调用方法。每次我尝试执行main方法时,我都会得到一个异常:java class boolean return inside of a system print statement when called

添加方法.java

public class AddingMethods {
public static void main(String args[]) {
Customerrr c1, c2, c3, c4;
c1 = new Customerrr("Bob", 17, 100);
c2 = new Customerrr("Dottie", 3, 10);
c3 = new Customerrr("Jane", 24, 40);
c4 = new Customerrr("Sam", 72, 5);
System.out.println(" Bob has been admitted ... " + c1.admitted);
System.out.println(" Dottie has been admitted ... " + c2.admitted);
System.out.println(" Jane has been admitted ... " + c3.admitted);
System.out.println(" Sam has been admitted ... " + c4.admitted);
c1.payAdmission();
System.out.println("Bob has been admitted ... " + c1.admitted);
c2.payAdmission();
System.out.println("Dottie has been admitted ... " + c2.admitted);
c3.payAdmission();
System.out.println("Jane has been admitted ... " + c3.admitted);
c4.payAdmission();
System.out.println("Sam has been admitted ... " + c4.admitted);
System.out.println(" Bob has $" + c1.money);
System.out.println(" Dottie has $" + c2.money);
System.out.println(" Jane has $" + c3.money);
System.out.println(" Sam has $" + c4.money);

}
}

在调用客户中允许的方法时添加括号,如下所示:

System.out.println(" Bob has been admitted ... " + c1.admitted());
System.out.println(" Dottie has been admitted ... " + c2.admitted());
System.out.println(" Jane has been admitted ... " + c3.admitted());
System.out.println(" Sam has been admitted ... " + c4.admitted());
c1.payAdmission();
System.out.println("Bob has been admitted ... " + c1.admitted());
c2.payAdmission();
System.out.println("Dottie has been admitted ... " + c2.admitted());
c3.payAdmission();
System.out.println("Jane has been admitted ... " + c3.admitted());
c4.payAdmission();
System.out.println("Sam has been admitted ... " + c4.admitted());