Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-如何遍历2个数组列表并添加值_Java - Fatal编程技术网

Java-如何遍历2个数组列表并添加值

Java-如何遍历2个数组列表并添加值,java,Java,我有一个文本文件,上面有日期/时间、姓名、小费金额和总小费 我可以将它简化为姓名(在一个arraylist中)和小费金额(在第二个arraylist中) 现在,我正试图让它达到人均小费的总和 因此,如果X倾斜10,20,30,40,它将输出X倾斜100 从文本文件 Dec. 6, 2013, 8:31 p.m. Tip from y 25 7687 Dec. 6, 2013, 8:30 p.m. Tip from x 30 7662 Dec. 6, 2013, 8:30 p.m. Ti

我有一个文本文件,上面有日期/时间、姓名、小费金额和总小费

我可以将它简化为姓名(在一个arraylist中)和小费金额(在第二个arraylist中)

现在,我正试图让它达到人均小费的总和

因此,如果X倾斜10,20,30,40,它将输出X倾斜100

从文本文件

Dec. 6, 2013, 8:31 p.m.  Tip from y
25  7687
Dec. 6, 2013, 8:30 p.m.  Tip from x
30  7662
Dec. 6, 2013, 8:30 p.m.  Tip from z
25  7632
Dec. 6, 2013, 8:31 p.m.  Tip from z
25  7687
Dec. 6, 2013, 8:30 p.m.  Tip from z
30  7662
Dec. 6, 2013, 8:30 p.m.  Tip from x
25  7632
这就是我目前所处的位置

import java.io.*;
import java.util.*;

public class TipTester {

public static void main(String[] args) {
    int lineNumber = 1;
    List<String> name = new ArrayList<String>();
    List<String> tip = new ArrayList<String>();
    String fileName = "C:\\Users\\David\\Desktop\\tips.txt";

    System.out.println("Reading text from file");

    try {
        FileReader inputFile = new FileReader(fileName);
        BufferedReader bufferedReader = new BufferedReader(inputFile);
        String line;

        while ((line = bufferedReader.readLine()) != null) {
            if (lineNumber % 2 != 0) {
        System.out.println(line.substring(line.indexOf("from ") + 5) + "\\");
                name.add(line.substring(line.indexOf("from ") + 5) + "\\");

            } else {
                System.out.println(line.substring(0, line.indexOf("\t")) + "\\");
                tip.add(line.substring(0, line.indexOf("\t")) + "\\");
            }
            lineNumber ++;
        }
        bufferedReader.close();
        name.add("-");
        tip.add("-");
    } catch (Exception e) {
        System.out.println("Error while reading file line by line: " + e.getMessage());
        }
    }
}
import java.io.*;
导入java.util.*;
公共类TipTester{
公共静态void main(字符串[]args){
int lineNumber=1;
列表名称=新的ArrayList();
列表提示=新建ArrayList();
String fileName=“C:\\Users\\David\\Desktop\\tips.txt”;
System.out.println(“从文件中读取文本”);
试一试{
FileReader inputFile=新的FileReader(文件名);
BufferedReader BufferedReader=新的BufferedReader(inputFile);
弦线;
而((line=bufferedReader.readLine())!=null){
如果(行号%2!=0){
System.out.println(line.substring(line.indexOf(“from”)+5)+“\\”;
name.add(line.substring(line.indexOf(“from”)+5)+“\\”;
}否则{
System.out.println(line.substring(0,line.indexOf(“\t”))+“\\”;
添加(line.substring(0,line.indexOf(“\t”))+“\\”;
}
lineNumber++;
}
bufferedReader.close();
名称。添加(“—”;
提示:添加(“-”);
}捕获(例外e){
System.out.println(“逐行读取文件时出错:+e.getMessage());
}
}
}
试试这个

tip.add("-"); // take this line out...
double totalTip = 0; // an accumulator.
for (String tipStr : tip) {
  if (tipStr != null) {
    try {
      totalTip += Double.valueOf(tipStr.trim()); // Add the tips.
    } catch (NumberFormatException e) {
    }
  }
}
System.out.println("totalTip = " + totalTip);

你的问题不是很清楚。显示
tips.txt
内容和所需输出。我已编辑了问题