// 创建一个Scanner对象,用于读取用户输入
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字符串: ");
String str = scanner.next();// 读取用户输入的字符串
System.out.println("你输入的字符串是:" + str);
scanner.nextLine();//消耗掉字符串后面的换行符
System.out.print("请输入一行文本: ");
String line = scanner.nextLine(); // 读取用户输入的文本
System.out.println("你输入的一行文本是:" + line);
System.out.print("请输入一个整数: ");
int number = scanner.nextInt(); // 读取用户输入的整数
System.out.println("你输入的整数是: " + number);
System.out.print("请输入一个浮点数: ");
double floatingPointNumber = scanner.nextDouble(); // 读取用户输入的浮点数
System.out.println("你输入的浮点数是: " + floatingPointNumber);
//nextFloat()与nextDouble()用法相同
// 关闭Scanner对象
scanner.close();
请输入一个字符串: jhdsf
你输入的字符串是:jhdsf
请输入一行文本: das sdf sfd
你输入的一行文本是:das sdf sfd
请输入一个整数: 3
你输入的整数是: 3
请输入一个浮点数: 7.980
你输入的浮点数是: 7.98
scanner.next 与 scanner.nextLine 的区别:
scanner.next():
- next() 方法读取下一个完整的标记(token)。遇到空白字符(空格、制表符、换行符等)时停止读取,并返回当前标记。
注意:如果之前调用了 nextInt() 或其他读取数值类型的方法,而没有先调用 nextLine() 来消耗掉换行符,next() 可能会立即返回,相当于在控制台输入时直接回车。
scanner.nextLine():
- nextLine() 方法读取一行字符(可以包含空格、制表符或其他字符),直到遇到换行符(\n),并返回包含这些字符的字符串,。
- nextLine() 通常用于读取包含空格的字符串或整行文本。
- 在使用 nextLine() 之前,如果已经调用了 nextInt() 或其他读取数值类型的方法,通常建议先调用一次 nextLine() 来消耗掉换行符,以避免读取操作出现问题。
使用 next() 或 nextLine()之前通常需要考虑是否需要用 nextLine() 来消耗掉换行符,nextInt()、nextFloat()、nextDouble() 则无需考虑。