基本上我需要做的是:
阅读如下文本文件:
[Student ID], [Student Name], Asg 1, 10, Asg 2, 10, Midterm, 40, Final, 40
01234567, Timture Choi, 99.5, 97, 100.0, 99.0
02345678, Elaine Tam, 89.5, 88.5, 99.0, 100
并像这样展示(计算排名和平均值):
ID Name Asg 1 Asg 2 Midterm Final Overall Rank
01234567 Timture Choi 99.5 97.0 100.0 99.0 99.3 1
02345678
Elaine Tam 89.5 88.5 99.0 100.0 97.4 2
Average: 94.5 92.75 99.5 99.5 98.3
使用printf()
功能
现在这是我到目前为止所做的:
import java.io.*;
import java.util.Scanner;
class AssignmentGrades {
public static void main(String args[]) throws Exception {
Scanner filename = new Scanner(System.in);
String fn = filename.nextLine(); //scannig the file name
System.out.println("Enter your name of file : ");
FileReader fr = new FileReader(fn+".txt");
BufferedReader br = new BufferedReader (fr);
String list;
while((list = br.readLine()) !=null) {
System.out.println(list);
}
fr.close();
}
}
所以我可以询问用户该文件的名称,然后阅读并打印。
现在......我被困住了。我想我可能需要将它放入数组并拆分?
String firstrow = br.readLine();
String[] firstrow = firstrow.split(", ");
是这样的?呃我已经被困在这里一个多小时了
我真的需要帮助!!我感谢你的关注!! (本周我开始学习java)
答案 0 :(得分:0)
分割刚刚从文件中读取的输入行有两种方法
答案 1 :(得分:0)
这里我将列存储为String
的数组,并将记录集存储为String
个while
数组。在split
循环中,如果列集尚未初始化(第一次迭代),我使用split
初始化它。否则,我会将ArrayList
添加到java.util.ArrayList
。导入 String[] columns = null;
ArrayList<String[]> values = new ArrayList<String[]>();
String list;
while((list = br.readLine()) !=null) {
if (columns != null) {
columns = list.split(", ");
} else {
values.add(list.split(", "));
}
}
fr.close();
。
{{1}}