如何从Java中的文件中读取double和int

时间:2016-05-21 14:08:35

标签: java file java.util.scanner

所以我有这个输入文件,我试图用扫描仪阅读。文件看起来像这样。

20 0.4
3  5.6

正如你所看到它有一个int然后是一个double,这一直持续到文件结束。我试着把它们都读成双打:

while(scanner.hasNextDouble()){
    x = (int) scanner.nextDouble();
    y = scanner.nextDouble();
}

我也试过这个:

while(scanner.hasNext()){
    x = scanner.nextInt();
    y = scanner.nextDouble();
}

但它们似乎都没有用。可能解决这个问题?

1 个答案:

答案 0 :(得分:0)

你的第二个循环工作正常。

<强> PROOF

String input = "20 0.4\n" +
               "3 5.6\n";
Scanner scanner = new Scanner(input);
while (scanner.hasNext()) {
    int x = scanner.nextInt();
    double y = scanner.nextDouble();
    System.out.printf("x=%d, y=%f%n", x, y);
}

<强>输出

x=20, y=0.400000
x=3, y=5.600000

这就是所谓的Minimal, Complete, and Verifiable example(MCVE)。