Scanner.nextInt()是能获取所有输入行数吗?为什么这里能count出有多少行
首先对于 Scanner sc = new Scanner(System.in) 方法,它的作用是可以让我们获取键盘中的输入信息
对于 Scanner类 它大致有两类方法,其目的都是帮助我们获取键盘中的输入信息,只是针对的情况不一样
Scanner类里面的next()、nextInt()、nextDouble()和nextFloat()这些方法是一类
即一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。
对于nextInt()、nextDouble()和nextFloat()这些方法也是跟上面一样,只是对于输入的字符类型有要求
sc.next()获取的是String类型
sc.nextInt()获取的是int类型
sc.nextDouble()获取的是double类型
sc.nextFloat()获取的是float类型
Scanner类里面的nextLine()是另一类。
nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
在你写的程序中,count 的值是由 int count = in.nextInt(); 这里在运行后,由你第一个输入的值决定的
后面的输入的次数则是根据第一次输入的数值决定
如果觉有帮助希望采纳一下^_^
1.Scanner.nextInt()本身的函数作用是读取数值,并不会读取换行内容
2.在这里用户输入的所有整数N,都被存储到了data[] 数组里面去了
3.嵌套的while循环读取总数
因为输入的第一行是数字的个数啊,题目规定的