Scanner 输入回车跳不出循环的解决方法
题目要求:
输入一行内容包含字符串和数字,将字符串与数字分别提取。
解决方法:
可以使用两个Scanner对象,一个用来键入数据,另外一个用来对数据进行操作,以此来解决输入“回车”跳不出while循环的问题。
import java.util.Scanner;public class InputOutput {public static void main(String[] args) {// String input = "Hello World 123";// 创建 Scanner1 对象,键入一行数据Scanner scanner1 = new Scanner(System.in);String input = scanner1.nextLine();// 创建 Scanner2 对象,用来对键入的数据进行操作Scanner scanner2 = new Scanner(input);while (scanner2.hasNext()) {if (scanner2.hasNextInt()) {int number = scanner2.nextInt(); // 从字符串读取整数System.out.println("整数:" + number);} else {String word = scanner2.next(); // 从字符串读取单词System.out.println("单词:" + word);}}scanner2.close();scanner1.close();}}