next():可以读取字符串;但是遇到空格,只能读取空格前的字符串
hasNext():通常用于判断是否还有下一个元素,也通常与"next()"方法一起使用,用于遍历集合或数组中的元素,方法会认为之后再没有非空字符,会返回一个false
nexInt:可以读取整数,但是遇到空格,只能读取空格前的数字
nextLine:可以读取字符串,并读取这一行,但是遇到回车结束,返回一个字符串类型的值
注意:next()和nextLine()不可以同时使用
hasNextLine():用于检查是否还有下一行字符串,返回一个布尔类型的值。
hasNextInt()的使用:用于判断下一个输入是否为整数类型。它返回一个布尔值,如果下一个输入是整数类型,则返回 true,否则返回 false
hasNextxxx()用法是一样的
//判断是否为整数
Scanner scanner = new Scanner(System.in);
if (scanner.hasNextInt()) {
int num = scanner.nextInt();
System.out.println("输入的整数是:" + num);
} else {
System.out.println("输入的不是整数!");
}
//注意:在使用 hasNextInt() 方法之前,需要先创建一个 Scanner 对象,并将其与标准输入流 System.in 关联。
使用Scanner循环读取N个数字
Scanner sc =new Scanner(System.in);
//如果是整形则输出,不是整形则不输出
while (sc.hasNextInt()){
int i = sc.nextInt();//输入数字i
System.out.println(i);//打印数字
Ctrl+d用来结束循环输入多个数据
以上调用方法:
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
int num = scanner.nextInt();
String line = scanner.nextLine();
boolean hasLine = scanner.hasNextLine();
boolean hasInt = scanner.hasNextInt();