目录
Java中使用键盘录入,尤其是通过
Scanner
类,有时会遇到几个常见问题,以下是一些问题及其解决方法:
一、空格截断问题:
当使用Scanner
的next()
方法读取带有空格的字符串时,输入会在遇到空格时被截断。解决这个问题应该使用nextLine()
方法来读取整行输入,包括空格。
示例代码:
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine(); // 使用nextLine读取整行输入
二、next()、nextInt()、nextDouble()等nextXxx()与nextLine()连用、混用的问题:
问题描述:
键盘还未输入字符,代码直接跳到下一个next方法,略过了nextLine()方,导致接收到的字符串为空。
代码演示问题
// 创建对象
Scanner scanner = new Scanner(System.in);
// nextInt()
System.out.println("输入数字:");
int i = scanner.nextInt();
System.out.println("scanner.nextInt:"+i);
// nextLine()
System.out.println("输入字符串:");
String s =