Scanner用法示例:
import java.util.Scanner;
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
sc.close();
原理
通过Scanner类获取用户输入时,控制台会一直等待用户的输入,直到用户敲回车键结束,把所输入的内容传给Scanner,程序要从Scanner获取输入的内容,则只需要调用Scanner的next*方法即可。
Scanner的常用方法
-
next()
- next()会忽略空格键、Tab键、换行符等,一定要读取到有效字符后才会结束输入
- 然后将其后输入的空格键、Tab键、换行符或Enter键作为结束符(所以next方法无法得到带空格的字符串)
- 示例:String str = sc.next();
-
nextLine()
- 该方法以用户按下回车键(Enter)结束当前输入,返回输入回车之前的所有字符
- 该方法可以获得空白
- 示例:String str = sc.nextLine();
-
输入int或float型数据
- 在输入之前最好先使用 hasNextXxx() 方法进行验证,再使用 nextXxx() 来读取
- 示例
if (scan.hasNextInt()) { // 判断输入的是否是整数 i = scan.nextInt(); // 接收整数 System.out.println("整数数据:" + i); } else { // 输入错误的信息 System.out.println("输入的不是整数!"); }