기본적으로 Integer 만 입력 할 수 있도록 유효성을 검사하려고합니다. 이것은 제가 지금 가지고있는 것입니다. 그러나 글자를 입력하면 switch
을 통해 결과가 공백으로 남습니다.switch 문에서 .hasNextInt()
정수가 아닌 다른 값이 입력되면 스위치의 default
으로 이동하기를 원합니다.
도움이 될 것입니다. 감사! 편지가 false
로 당신의 while(loop && kb.hasNextInt())
가 발생할 수 있기 때문에
while(loop && kb.hasNextInt())
{
choice = kb.nextInt();
switch(choice)
{
case 1 :
language = "FRENCH";
loop = false;
break;
case 2 :
language = "GERMAN";
loop = false;
break;
case 3 :
language = "SPANISH";
loop = false;
break;
default :
System.out.println("That is not a correct choice. Please try again!");
break;
}
}
나는 늘 루프 그래서 어쩌면 내가 다른 while 루프를 넣을 것을 다음 while 루프에서 if 문을 넣어 경우
내가하는 일은 내가 입력을받을 어디 보통 주변의 유효성 검사를 넣어 것입니다 while 루프? 스위치 명령문을 여전히 사용하는 더 좋은 방법이 있습니까? – shallowtek
주 WHILE LOOP 내에서 다른 WHILE LOOP을 사용하면 문제가 해결되지만 유효성 검사중인 데이터 유형이 SWITCH의 DEFAULT를 사용하고 있지 않음을 의미합니다. 별도의 S.O.P에 오류가 있다는 메시지가 있습니다. 오 잘 나는 그것이 효과가 있다고 생각한다. IF 진술서를 알려 주셔서 감사합니다. – shallowtek