3 回答
TA贡献1829条经验 获得超7个赞
对于您想要完成的任务来说,while 循环可能看起来很混乱。我会在“do while”循环内使用 Switch 语句。
如果用户输入与“大小写”不匹配,则它将转为默认值。
当用户输入“q”退出时,然后boolean validSelection转向true,您将退出“do while”循环。
public static void main( String[] args )
{
Scanner scan = new Scanner( System.in );
boolean validSelection = false;
do
{
System.out.println( "Please pick an option from the menu above" );
char option = scan.next().charAt( 0 );
switch( option )
{
case 'a':
break;
case 'b':
break;
case 'c':
break;
case 'd':
break;
case 'e':
break;
case 'f':
break;
case 'q':
validSelection = true;
break;
default:
System.out.println( "Choice invalid." );
break;
}
}
while( validSelection == false );
}
}
TA贡献1829条经验 获得超7个赞
尝试这个
Scanner scan = new Scanner(System.in);
char option = scan.next().charAt(0);
while (option != 'a' && option !='b' && option != 'c'&& option !='d'&& option !='e'&& option !='f'&& option !='q') {
System.out.println("Please pick an option from the menu above");
option = scan.next().charAt(0);
}
您将需要 AND 而不是 OR,否则它将不起作用
TA贡献1866条经验 获得超5个赞
在循环内添加扫描。
char option = scan.next().charAt(0);
while (option !='a'||option !='b'||option !='c'||option !='d'||option !='e'||option !='f'||option !='q') {
System.out.println("Please pick an option from the menu above");
option = scan.next().charAt(0);
}
添加回答
举报