我正在尝试继续使用我的代码,我收到的错误是我不知道如何修复。 代码达到要求我选择的程度,然后当我输入时,我希望它能打印出来,这就是字母S'或者'这是字母T'基于用户输入的输入。请记住两件事。 1)我需要使用" char getOption()"方法和2)我是新手,所以请耐心等待。我得到的错误是:
提前致谢。
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;
}
}
//线程中的异常" main" java.util.InputMismatchException
//在java.util.Scanner.throwFor(Scanner.java:864)
//在java.util.Scanner.next(Scanner.java:1485)
//在java.util.Scanner.nextInt(Scanner.java:2117)
//在java.util.Scanner.nextInt(Scanner.java:2076)
//在shapes.getOption(shapes.java:60)
//在shapes.main(shapes.java:27)
答案 0 :(得分:0)
似乎没有真正的需要
input.nextInt();
你的代码中的。因此,代码执行将请求两个用户输入而不是一个。只需删除它就可以了。