java意外的返回值
问题描述:
这是我的程序的一部分,我想要求用户插入“真”或假“ 但我继续得到java unexpected return value
,我只是无法找到一种方法来解决这个问题,我想要它到return
价值我main
方法java意外的返回值
private String Reply() {
Scanner input_reader = new Scanner(System.in);
System.out.print("true or false");
String keyboard = null;
keyboard = input_reader.nextLine();
while (keyboard != "True" | keyboard != "False") { //if the user dosent type true or false it will continue to ask for it
System.out.print("Please answer with T or F ");
Scanner newInput = new Scanner(System.in);
String a = newInput.nextLine();
keyboard = a;
return keyboard;
}
}
生病感谢所有帮助!谢谢!
答
- 使用字符串API,使用equals或equalsIgnoreCase方法,这是由于==方式运营商的工作,因为这将严格比较,如果两个ob项目是相同的,而不是那些对象的价值。写入字符串的.equals方法以执行字符串值比较。
- 该逻辑设置为始终返回true。使用OR运算符,字符串总是不是“真”,或者不是“假”。
-
你也想移动return语句跳出while循环,因为你不应该返回值,直到你完成循环:
while (!(keyboard.trim().equalsIgnoreCase("True") || keyboard.trim().equalsIgnoreCase("False"))) { //if the user dosent type true or false it will continue to ask for it System.out.print("Please answer with True or False "); Scanner newInput = new Scanner(System.in); String a = newInput.nextLine(); keyboard = a; } return keyboard;
你用==或比较的对象! =在这种情况下。改用#equals。 –
首先用equal()函数比较字符串,然后在while循环中使用return语句...当条件失败时,循环会自动停止为什么你要返回值? – RohitS
返回应该在你的方法 – RohitS