求助帮看代码有啥错误 算法的作业,然后第一问要处理数据,我写的代码他显示错误,不知道错在哪,ball ball 各位!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static void main(String[] argu) throws IOException { String filepath = "C:\\Users\\陈柏宇\\Desktop\\新建文件夹\\LP002.txt"; BufferedReader reader = new BufferedReader(new FileReader(filepath)); List<String> inf = new ArrayList<String>(); List<String> num = new ArrayList<String>(); List<String> stu = new ArrayList<String>(); String temp = reader.readLine(); int row = 0; while(temp != null) { row++; String[] arr = temp.split(","); if(row == 1) { String course = arr[0]; String credit = arr[1]; inf.add(course); inf.add(credit); } if(row == 2) { String number = arr[0]; num.add(number); } if(row > 2) { String fname = arr[0]; String lname = arr[1]; String id = arr[2]; String grade = arr[3]; stu.add(fname); stu.add(lname); stu.add(id); stu.add(grade); } } for (int i = 0; i < stu.size(); i += 4) { System.out.println(stu.get(i) + stu.get(i + 1) + stu.get(i + 2) + stu.get(i + 3)); } } LP104,613Tung,Grace,1109853A-I011-0022,90.38Jing,Vito,1109853U-I011-0113,76.88Zhong,Amy,11098537-I011-0355,60.57Yu,Fiona,1109853U-I011-0056,57.78Lam,Stephen,11098536-I011-3419,67.75Jia,Wallace,1109853C-I011-3905,63.04Rui,Theodore,1109853L-I011-3126,86.81Cai,Terry,11098531-I011-0437,55.65Gui,Kathie,11098539-I011-0087,36.03Teng,Robert,11098532-I011-8718,44.42Weng,Frank,11098537-I011-9244,71.28Pun,Alice,11098538-I011-0174,97.00Vong,Alex,1109853J-I011-3679,56.88这是给的数据,分别是课程名,学分,人数,姓名,学生号,成绩 java 讲究面向对象。你应该将数据封装成一个对象 比如学生类,再将学生对象塞进list里面进行遍历。代码上至少会好看很多。至于错误,我看你while循环里面,temp好像没有往下读的代码。 漏了一行代码,读取下一行的:temp = reader.readLine(); if (row > 2) { String fname = arr[0]; String lname = arr[1]; String id = arr[2]; String grade = arr[3]; stu.add(fname); stu.add(lname); stu.add(id); stu.add(grade); } //漏掉语句,导致一直分析第一行 temp = reader.readLine(); 你是while这里错了吧while(temp != null) 正确的 while((temp=reader.readLine())!=null) 你是while这里错了吧while(temp != null) 正确的 while((temp=reader.readLine())!=null)这个是之前的部分没有复制下来,不好意思了 关于ProGuard使用的问题 java中如何获取当前进程打开文件的数量 【是 Sun 的专用 API,可能会在未来版本中删除】这是啥意思啊??? 学过C++,从事C# 好还是Java好呢 ? 关于读文件的问题~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ JDK5.0中<>中的东西是什么意思啊 弱问一个正则表达式的问题 如何调用不同包中的类 基础问题:请问如下一行语句的意思? java 运行问题! ThreadPoolExecutor 对软件的性能没有任何提升? Vb.net和python能写安卓程序吗?
String filepath = "C:\\Users\\陈柏宇\\Desktop\\新建文件夹\\LP002.txt";
BufferedReader reader = new BufferedReader(new FileReader(filepath));
List<String> inf = new ArrayList<String>();
List<String> num = new ArrayList<String>();
List<String> stu = new ArrayList<String>();
String temp = reader.readLine();
int row = 0;
while(temp != null) {
row++;
String[] arr = temp.split(",");
if(row == 1) {
String course = arr[0];
String credit = arr[1];
inf.add(course);
inf.add(credit);
}
if(row == 2) {
String number = arr[0];
num.add(number);
}
if(row > 2) {
String fname = arr[0];
String lname = arr[1];
String id = arr[2];
String grade = arr[3];
stu.add(fname);
stu.add(lname);
stu.add(id);
stu.add(grade);
}
}
for (int i = 0; i < stu.size(); i += 4) {
System.out.println(stu.get(i) + stu.get(i + 1) + stu.get(i + 2) + stu.get(i + 3));
}
}
13
Tung,Grace,1109853A-I011-0022,90.38
Jing,Vito,1109853U-I011-0113,76.88
Zhong,Amy,11098537-I011-0355,60.57
Yu,Fiona,1109853U-I011-0056,57.78
Lam,Stephen,11098536-I011-3419,67.75
Jia,Wallace,1109853C-I011-3905,63.04
Rui,Theodore,1109853L-I011-3126,86.81
Cai,Terry,11098531-I011-0437,55.65
Gui,Kathie,11098539-I011-0087,36.03
Teng,Robert,11098532-I011-8718,44.42
Weng,Frank,11098537-I011-9244,71.28
Pun,Alice,11098538-I011-0174,97.00
Vong,Alex,1109853J-I011-3679,56.88
这是给的数据,分别是课程名,学分,人数,姓名,学生号,成绩
至于错误,我看你while循环里面,temp好像没有往下读的代码。
String fname = arr[0];
String lname = arr[1];
String id = arr[2];
String grade = arr[3];
stu.add(fname);
stu.add(lname);
stu.add(id);
stu.add(grade);
}
//漏掉语句,导致一直分析第一行
temp = reader.readLine();
你是while这里错了吧
while(temp != null) 正确的 while((temp=reader.readLine())!=null)
你是while这里错了吧
while(temp != null) 正确的 while((temp=reader.readLine())!=null)
这个是之前的部分没有复制下来,不好意思了