扫描输入的两种方式
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[] 和一个targetSystem.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();