Так что я в настоящее время имеем дело с этим [иметь в виду, я вырезал большую часть кода из причин это довольно долго]Плохая обработка исключений? Программа продолжает цикл?
int choice = 0;
while (choice != 7){
System.out.println("--- Mathematical Calculator ---");
System.out.println("");
System.out.println("Pick an operation from the list - Use nos. 1 to 7");
System.out.println("1) Multiplication");
System.out.println("2) Division");
System.out.println("3) Addition");
System.out.println("4) Subtraction");
System.out.println("5) Find the area of a regular object");
System.out.println("6) Find the volume of a regular object");
System.out.println("7) Exit Program");
**boolean ok = false;
do {
try{
choice = userInput.nextInt();
ok = true;
} catch (InputMismatchException e){
System.out.println("Invalid input");
}
}
while (ok = false);**
switch (choice) {
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
System.out.println("Thanks for using my program");
System.out.println("Program terminated");
break;
default: System.out.println("Invalid choice");
}
}
userInput.close();
}
Так в настоящее время, когда я запустить программу и ввести то, что не является целым числом, программа выдаст следующий результат:
--- Mathematical Calculator ---
Pick an operation from the list - Use nos. 1 to 7
1) Multiplication
2) Division
3) Addition
4) Subtraction
5) Find the area of a regular object
6) Find the volume of a regular object
7) Exit Program
Invalid input
Invalid choice
Over
And over
And over
Я знаю, что я, вероятно, сделал что-то неправильно с обработкой исключения (программа работает отлично с действительным входа), но я действительно не знаю, как я могу это исправить.
Помощь?
какова двойные звездочки? проблема с копировальной пастой? или попытка выделить жирный блок? – vefthym