我有一個問題,我的老師想在代碼期望和嘗試趕上。在錯誤的輸入之前進行保護,我需要把它放到我的代碼中我有一些東西,但是如果我把一些像a,b,c這樣的字母掉下來,就不能正常工作。java中的期望值下降時,我把字母a b c
package projectprucha;
import java.util.Scanner;
import java.io.*;
import java.util.InputMismatchException;
public class Projectprucha {
public static Scanner scan = new Scanner(System.in);
public static void main(String[] args) {
int Choose;
do {
writeMenu();
Choose = scan.nextInt();
scan.nextLine();
try {
switch (Choose) {
case 1:
Joke vtip = new Joke();
vtip.Napis();
JokeII vtipII = new JokeII();
vtipII.NapisII();
break;
case 2:
Kalkulacka.staticMethod();
break;
case 3:
Moudro rada = new Moudro();
rada.Rekni();
case 0:
System.out.println("You have exited the system");
System.exit(0);
default:
throw new InputMismatchException();
}
} catch (InputMismatchException e) {
System.out.println("Error in the data you have entered please try again");
}
} while (Choose != 0);
}
private static void writeMenu() {
System.out.println("Menu");
System.out.println("1: Něco pro zasmání");
System.out.println("2: Kalkulačka");
System.out.println("3: Rada do života");
System.out.println("0: Ukončit program");
}
}
你可以輸入一個字符串你不需要
choose
你的外循環('掃描.next()'),檢查它是否是一個數字(例如使用正則表達式),然後將其轉換爲數字 –'scan.nextInt()'會引發異常,所以您應該移動此行(和以下內容)放入'try'區塊 –