else if (answer.equals("check value")){
System.out.println("Of what?");
System.out.println("Tax, Donations, Income, Profit, Expenditure, Services, Military, City or Economy.");
System.out.println("Do not use caps and spell it correctly otherwise it will not be recognised.");
String valueToCheck = scan.nextLine();
if (valueToCheck == "tax"){
System.out.println(tax);
}else if (valueToCheck == "donations"){
System.out.println(donations + "donations per turn");
}else if(valueToCheck == "income"){
System.out.println(incomePerTurn + " income per turn");
}else if(valueToCheck == "profit"){
System.out.println(profitPerTurn + " profit per turn");
}else if(valueToCheck == "expenditure"){
System.out.println(expenditurePerTurn + "expenditure per turn");
}else if(valueToCheck == "services"){
System.out.println(servicesBudget + " to services budget");
}else if(valueToCheck == "military"){
System.out.println(militaryBudget + " to military budget");
}else if(valueToCheck == "city"){
System.out.println(cityBudget + " to cities budget");
}else if(valueToCheck == "economy"){
System.out.println(economy + " to total economy");
}
newTurn();}
您好,每当我运行我的程序并输入'check value'时我都没有错误,事实上我什么都没得到。我只是想知道为什么没有返回。谢谢你的帮助!
答案 0 :(得分:2)
没有任何东西出现,因为这些条件都没有得到满足。 “==”运算符会比较引用,但您要比较内容。由于您为每个比较创建了新的字符串,因此它们与存储在“valueToCheck”中的字符串不匹配。
有关详细信息,请参阅this question。
此外,将来,请尝试猜测错误的位置,并在发布前搜索论坛。例如,在这里你有很多字符串比较,你想要的输出是这些比较的结果。当你没有得到你想要的结果时,你应该在这里或其他地方查找“java中的字符串比较”,以确保你在发布之前正确地做到了。