你的代码是这样的
public void ticketcounter1(boolean ticketcounter1){
if (credit1 > total1){
ticketcounter1 = true;
}
else {
ticketcounter1 = false;
}
}
public void ticketcounter2(boolean ticketcounter2) {
if (credit2 > total2){
ticketcounter2 = true;
}
else {
ticketcounter2= false;
}
}
应该是这样的。而不是使用变量并通过参数传递它。使用吸气剂。除此之外,您的代码将无法运行,因为subway1.ticketcounter1(true) 什么也没提供。它只是改变存储在 Brain.java 中的变量。没有信息被发送到 main。
public boolean ticketcounter1(){
if (credit1 > total1){
return true;
}
else {
return false;
}
}
public boolean ticketcounter2(){
if (credit2 > total2){
return true;
}
else {
return false;
}
}
您可以创建没有参数的函数。我不知道你想做什么?
if (Choice1a == 10){
if(subway1.ticketcounter1()){
System.out.println("PRINT SUCCESSFUL, COLLECT YOUR TICKET!");
}
if(subway1.ticketcounter1()){
System.out.println("INSEFFICIENT FUNDS, PLEASE ADD MORE");
}
}
subway1.ticketcounter1() 将给出真假。不要在 if 语句条件中使用;。 ; 结束声明。检查此guide 以了解分号的使用如果您确实想使用; 代码应如下所示
if (Choice1a == 10){
boolean ticketCounter1 = subway1.ticketcounter1();
if(ticketCounter1){
System.out.println("PRINT SUCCESSFUL, COLLECT YOUR TICKET!");
} else {
System.out.println("INSEFFICIENT FUNDS, PLEASE ADD MORE");
}
}
P.S 在这种情况下你不需要两个 if-else 会更好
if(condition) {
// Conditions is true
} else {
// Condition is false
}