所以我有这个输入文件,我试图用扫描仪阅读。文件看起来像这样。
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();
}
但它们似乎都没有用。可能解决这个问题?
答案 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)。