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);
}
添加回答
舉報