我不知道如何注册我的双打。
Scanner s = new Scanner(new FileReader("TwoRows.txt"));
double total1=0;
double total2=0;
List<Double> l1 = new ArrayList<Double>();
List<Double> l2 = new ArrayList<Double>();
while (s.hasNextDouble()) {
l1.add(s.nextDouble());
l2.add(s.nextDouble());
}
for (double x: l1){
total1 += x;
}
for (double x: l2){
total2 += x;
}
System.out.println(l1);
System.out.println(l2);
System.out.println(total1);
System.out.println(total2);
该文件如下所示:
12.4 12.2
15.2 19.3
12.2 17.3
17.1 15.4
9.2 10.2
10.3 3.3
答案 0 :(得分:1)
您要做的是阅读文件。为此你可以使用这部分代码:
File finput = new File("yourfile");
BufferedReader br = new BufferedReader(new FileReader(finput));
然后你要做的就是逐行阅读并分割每一行,感谢空格字符。
String line ;
String[] linesplit ;
double d1, d2 ;
while ((line = br.readLine()) != null) {
linesplit = line.split("\\s+");
d1 = Double.parseDouble(linesplit[0]);
d2 = Double.parseDouble(linesplit[1]);
// Some more code
}
通过这种方式,您可以阅读文件并执行您想要对双打执行的任何操作。 如果您不确定
答案 1 :(得分:0)
我不确定你要做什么,但我认为逐行读取文件并用空格分割每一行然后将这两个值解析为Double
这是一个更好的方法
试试这段代码:
double total1 = 0;
double total2 = 0;
try (BufferedReader br = new BufferedReader(new FileReader("TwoRows.txt"))) {
String line;
while ((line = br.readLine()) != null) {
String[] twoDoubles = line.split("\\s+");
total1 += Double.parseDouble(twoDoubles[0]);
total2 += Double.parseDouble(twoDoubles[1]);
}
}
System.out.println(total1);
System.out.println(total2);
小心twoDoubles[n]
如果每行包含完全两个双精度,它只会以这种方式工作 - 否则会抛出超出范围异常。更好地检查数组大小。