我有一个方法应该扫描 3 个大写或小写字母中的一个并返回该字母的小写版本。如果输入了不正确的字母,则警告用户并重新要求输入字母。我有两个问题,1:只要运行该方法,我就会得到带有错误消息的输出行,该错误消息告诉用户输入无效,而无需等待输入!(所以我High, low or sevens (H/L/S):Invalid entry. Please try again using H/L/S!
在输入任何内容之前看到第二次运行该方法,然后再次调用该方法,并且除了我的下一个问题外,所有工作正常) 2:从扫描仪获取的条目永远不会通过我的任何 if 语句,即使它应该。
我的代码:
private static char getHighLow(Scanner inScanner) {
System.out.print("High, low or sevens (H/L/S):");
String entered = inScanner.nextLine();
System.out.print(entered);
if(entered.equals("H") || entered.equals("h")){
return 'h';
}
else if (entered.equals("L") || entered.equals("l")){
return 'l';
}
else if(entered.equals("S") || entered.equals("s")){
return 's';
}
char result = 0;
while(result != 'l' || result != 'h' || result != 's'){
System.out.println("Invalid entry. Please try again using H/L/S!");
result=getHighLow(inScanner);
}
return result;
}