扫描输入的两种方式
Scanner主要提供了两个方法来扫描输入:
(1)hasNextXxx():是否还有下一个输入项,Xxx可以是Int,Long等代表基本数据类型的字符串。
如果只是判断是否包含下一个字符串,则直接使用hasNext();
(2) nextXxx():获取下一个输入项。Xxx的含义与前一个方法的含义相同
默认情况下,Scanner使用空白(空格、Tab、回车)作为多个输入项之间的分隔符
按个获取:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
System.out.println("键盘输入的内容为:"+ scanner.next());
}
}
测试结果:
按行获取:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextLine()) {
System.out.println("键盘输入的内容为:"+ scanner.nextLine());
}
}
测试结果:
笔试中常见接收输入操作:
(1)接收一个int类型数组和一个target整数
//System.in为标准键盘输入
Scanner scanner = new Scanner(System.in);
//只把回车作为分隔符
//scanner.useDelimiter("\n");
//类型1:接收一个int类型数组nums[] 和一个target
System.out.print("请输入数组:");
String input = scanner.nextLine();
String[] numsString = input.split(",");
int[] nums = new int[numsString.length];
//转换为int类型数组
for (int i = 0; i < numsString.length; i++) {
nums[i] = Integer.parseInt(numsString[i].trim());
}
System.out.print("请输入目标整数:");
int target = scanner.nextInt();
scanner.nextLine(); // 清除输入缓冲区中的回车键
(2)接收一个字符串
//类型2:接收一个字符串
System.out.print("请输入字符串:");
String str = scanner.nextLine();
(3)接收一个字符串类型的数组
//类型3:接收一个字符串类型的数组
System.out.print("请输入字符串数组,每个元素用空格分隔:");
String str2 = scanner.nextLine();
String[] stringArray = str2.split(" ");
(4)接收一个char类型数组
//类型4:接收一个char类型数组
System.out.print("请输入字符数组,不用分隔:");
String str3= scanner.nextLine();
char[] charArray = str3.toCharArray();
scanner.close();