1.Scanner类的next(),nextInt(),nextDouble()等方法以空白符为分隔符(如空格)来读取数据
2.Scanner类对象接连使用read.next(),read.nextLine()
如:
Scanner read = new Scanner(System.in);
System.out.println("请输入内容:");
System.out.print(read.next());
System.out.println("请再次输入内容:");
System.out.print(read.nextLine());
System.out.println("输入已经结束!");
运行结果:
请输入内容:12
12
请再次输入内容:
输入已经结束!
第二次没有机会输入程序就已经结束了!
若要能有机会输入必须再次实例化read对象,第二次输入前添加read = new Scanner(System.in);
但若是nextLine()方法在前,.next()方法在后在不存在该问题,程序会停下来等待用户第二次输入
3.Scanner类的hasNext()方法注意事项
public static void main(String[] args) {
int i = 0;
Scanner read = new Scanner(System.in);
System.out.print("请输入内容:");
while(read.hasNext()){
System.out.println(i++);
System.out.println(read.next());
}
System.out.println("输入结束。。。");
}
程序将进入输入的死循环,一直要求用户进行输入,最后的输出语句将不会被执行。
可以只用如下方法解决,不过要事先确定输入的类型
public static void main(String[] args) {
int i = 0;
Scanner read = new Scanner(System.in);
System.out.print("请输入内容:");
while(read.hasNextInt()){
System.out.println(i++);
System.out.println(read.next());
}
System.out.println("输入结束。。。");
}
这样当输入的内容不是int类型是就会跳出while循环!