题目要求:
输入一行内容包含字符串和数字,将字符串与数字分别提取。
解决方法:
可以使用两个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();
}
}