查看代码。 当我启动程序时,它不允许我将扫描仪类的输入插入到交换机中,为什么呢?
Scanner in = new Scanner(System.in);
System.out.println("select:");
int select = in.nextInt();
switch (select) {
case 1:
System.out.println("first name:");
String n = in.nextLine();
System.out.println("surname:");
String s = in.nextLine();
System.out.println(n + s);
break;
}
输出:
选择: 1个 名字: 姓:
答案 0 :(得分:1)
nextLine方法将被忽略,因为nextInt方法中还剩下一个换行符。有两种方法可以解决此问题。
解决方案1:
Scanner in = new Scanner(System.in);
System.out.println("select:");
int select = in.nextInt();
in.nextLine();
解决方案2:
Scanner in = new Scanner(System.in);
System.out.println("select:");
int select = Integer.parseInt(in.nextLine());
答案 1 :(得分:0)
用Scanner
和BufferedReader
代替InputStreamReader
可以解决此问题,请尝试:
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
System.out.println("select:");
int select = Integer.parseInt(input.readLine());
switch (select) {
case 1:
System.out.println("first name:");
String n = Integer.parseInt(input.readLine());
System.out.println("surname:");
String s = Integer.parseInt(input.readLine());
System.out.println(n + s);
break;
}