Jam*_*per -1 java while-loop do-while
我遇到了这种方法的问题,我永远坚持"抱歉你必须指定一个Deeppan或瘦基地,再试一次:"即使我输入jimmy,harry,deeppan,thin,Thin ..等我输入之后deeppan或thin,我希望String存储在变量"size"中并返回
我缺少什么想法?
public String Input(){
String size;
Scanner sc = new Scanner(System.in);
System.out.println("thin or thick: ");
do {
size = scan.next();
if ( !size.equalsIgnoreCase( "thick") || !size.equalsIgnoreCase( "thin" )) {
System.out.print("Sorry you must specify a thick or thin base, try again: ");
} else {
break;
}
} while ( true );
return size;
}
Run Code Online (Sandbox Code Playgroud)
改变你的|| 对于if条件中的&&.如果你键入'thin',那么条件将成立,因为它不是deeppan,反之亦然.
你内心的声明if总是如此true.
你应该使用其中之一
!size.equalsIgnoreCase( "Deeppan") && !size.equalsIgnoreCase( "thin" )
Run Code Online (Sandbox Code Playgroud)
要么
!(size.equalsIgnoreCase( "Deeppan") || size.equalsIgnoreCase( "thin" ))
Run Code Online (Sandbox Code Playgroud)