Java-如何遍历2个数组列表并添加值
我有一个文本文件,上面有日期/时间、姓名、小费金额和总小费 我可以将它简化为姓名(在一个arraylist中)和小费金额(在第二个arraylist中) 现在,我正试图让它达到人均小费的总和 因此,如果X倾斜10,20,30,40,它将输出X倾斜100 从文本文件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
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
内容和所需输出。我已编辑了问题