スキャナー オブジェクトをメソッドに渡すと、スキャナーは入力の最初からスキャンするか、入力の残りの部分をスキャンし続けますか。これが私のコードです:
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 の両方でテストしましたが、2 つの異なる結果が得られました
最初の結果はメソッド テストにあり、5 6 7 8 と出力されます。
2 番目の結果はわかりにくく、1 2 3 4 と出力されますが、それでも入力の最初の行です。
これは Java の異なるバージョンに関連していますか? 誰か説明してくれませんか? ありがとう!