看到代码了。当我启动程序时,它不让我将scanner类输入插入到开关中,为什么?
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名字:姓氏:
发布于 2019-05-16 13:41:17
由于nextInt方法中留有一个换行符,因此忽略了nextLine方法。有两种方法可以解决这个问题。
解决方案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());
发布于 2019-05-16 13:39:50
用BufferedReader
和InputStreamReader
替换Scanner
可以修复它,请尝试:
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;
}
https://stackoverflow.com/questions/56168746
复制相似问题