如果我将扫描仪对象传递给方法,扫描仪会从输入的开头扫描还是继续扫描输入的剩余部分。这是我的代码:
public class Test {
public void test(Scanner sc) {
System.out.println(sc.nextLine());
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println(str);
Test t = new Test(sc);
t.test();
}
}
// here is the input file:
1 2 3 4
5 6 7 8
9 1 2 3
我已经在 Windows 和 Linux 上测试了这段代码,但我得到了两个不同的结果
第一个结果在方法测试中,它打印 5 6 7 8
第二个结果很难理解,它打印 1 2 3 4,仍然是输入的第一行。
这是否与不同版本的Java有关,谁能帮我解释一下,谢谢!