我想在我的代碼中繼續前進,我得到一個錯誤,我不知道如何解決。 代碼達到了要求我提供選項的程度,然後當我鍵入時,我希望根據用戶輸入的內容輸出「這是字母S」或「這是字母T」。請記住兩件事。 1)我需要使用「char getOption()」方法,2)我是新手,請耐心等待。我得到的錯誤是:getOption不工作,不斷的錯誤
在此先感謝。
import java.util.Scanner;
public class shapes {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
displayWelcome();
displayMenu();
char resp = getOption();
if(resp == 'S')
System.out.println("This is letter S");
else if(resp == 'T')
System.out.println("This is letter T");
}
public static void displayWelcome() {
System.out.println("WELCOME TO THE SHAPE PRINTER!");
System.out.println("-----------------------------");
}
public static void displayMenu() {
System.out.println("Options: ");
System.out.println(" S)quare");
System.out.println(" H) Shape");
System.out.println(" T)riangle");
System.out.println(" X) Shape");
System.out.println(" Q)uit");
}
public static char getOption() {
Scanner input = new Scanner(System.in);
input.nextInt();
char c = input.next().charAt(0);
return c;
}
}
//在線程異常 「主」 java.util.InputMismatchException //在java.util.Scanner.throwFor(Scanner.java:864)
//是java。 util.Scanner.next(Scanner.java:1485)
// at java.util.Scanner.nextInt(Scanner.java:2117)
// at java.util.Scanner.nextInt(Scanner.java:2076)
//在shapes.getOption(shapes.java:60)
// at shapes.main(shap es.java:27)
此行的任何原因input.nextInt(); ? –
我被告知我必須清除char/Strings和Int/Doubles掃描器之間的緩衝區 – aycajr
nextInt等待int輸入,我不認爲它清除任何類型的緩衝區。嘗試刪除。 –