JAVA
Check only integer input
seoca
2019. 7. 12. 05:18
hasNextInt()
Use hasNextInt() to check if it's integer or not
while (!keyboard.hasNextInt()) {
MenuViewer.keyboard.next(); //discard
System.out.println("You entered character. Please, Enter a number to choose");
}
|
Example Code
while (true) {
//try catch 구문이 while안에 있어야 에러처리가 끝나도 다시 메뉴를 선택할 수 있어.
try {
MenuViewer.menuViewer(); //Static method 이기 때문에 class name으로 호출
while (!MenuViewer.keyboard.hasNextInt()) {
MenuViewer.keyboard.next(); //discard
System.out.println("You entered character. Please, enter a number to choose \n");
MenuViewer.menuViewer();
}
int select = MenuViewer.keyboard.nextInt();
MenuViewer.keyboard.nextLine(); //nextInt 다음에 nextLine 으로 delimiter 지우기.
if (select < INIT_MENU.INPUT || select > INIT_MENU.EXIT) {
throw new MenuChoiceException(select);
}
switch (select) {
case INIT_MENU.INPUT:
phoneManager.inputData();
break;
case INIT_MENU.SEARCH:
phoneManager.searchData();
break;
case INIT_MENU.DELETE:
phoneManager.deleteData();
break;
case INIT_MENU.EXIT:
System.out.println("Exit the program");
return;
}
} catch (MenuChoiceException e) {
e.showError();
System.out.println("You need to enter a number again.");
}
}
|