本文共 1832 字,大约阅读时间需要 6 分钟。
在Java编程中,Scanner类是处理用户输入的强大工具。它提供了两种主要方法来获取输入:next()和nextLine()。在使用这些方法之前,我们需要先检查是否有输入数据可以读取。这可以通过hasNext()和hasNextLine()方法实现。
Scanner scanner = new Scanner(System.in);System.out.println("请输入一个数字:");String input = scanner.nextLine();System.out.println("您输入的内容是:" + input); Scanner scanner = new Scanner(System.in);System.out.println("请输入多个数字,每行一个:");while (scanner.hasNext()) { String input = scanner.next(); System.out.println("您输入的内容是:" + input);} 记住,Scanner类是资源密集型的。使用完毕后,必须及时关闭:
scanner.close();
有时候,我们可以直接使用Scanner类来获取输入,而无需判断是否有输入。这种方法简单易懂:
Scanner scanner = new Scanner(System.in);System.out.println("请输入数字(按回车结束):");String input = scanner.nextLine();System.out.println("您输入的内容是:" + input.replace(" ", "")); Scanner scanner = new Scanner(System.in);System.out.println("请输入一个数:");String input = scanner.nextLine();double number = Double.parseDouble(input);if (number % 1 == 0) { System.out.println("这是一个整数:" + number);} else { System.out.println("这是一个小数:" + number);} Scanner scanner = new Scanner(System.in);System.out.println("请输入多个数字(每行一个,按回车结束):");List numbers = new ArrayList<>();while (scanner.hasNext()) { String input = scanner.next(); if (scanner.hasNextLine()) { numbers.add(Double.parseDouble(input)); } else { break; }}double sum = numbers.stream().mapToDouble(Double::doubleValue).sum();double average = sum / numbers.size();System.out.println("总和为:" + sum);System.out.println("平均数为:" + average); 通过以上方法,您可以灵活地处理用户输入,实现各种交互场景。记得在使用完Scanner后,及时关闭资源以避免内存泄漏。
转载地址:http://oqov.baihongyu.com/