试图从我的.txt文件中降序排列双打并打印结果,但为什么我得到4行[]?尝试从.txt文件中排序双重时遇到问题
我的文本文件看起来像这样:
Mary Me,100.0
Hugh More,50.8
Jay Zee,85.0
Adam Cop,94.5
\t public static void sortGrade() throws IOException
\t {
\t Scanner input = new Scanner(new File("Grades.txt"));
\t while(input.hasNextLine())
\t {
\t \t String line = input.nextLine();
\t ArrayList<Double> grades = new ArrayList<Double>();
\t Scanner scan = new Scanner(line);
\t scan.useDelimiter(",");
\t while(scan.hasNextDouble())
\t {
\t \t grades.add(scan.nextDouble());
\t }
\t scan.close();
\t Collections.sort (grades,Collections.reverseOrder());
\t System.out.println(grades);
\t }
\t input.close();
\t }
我想为输出看起来像这样:
Hugh More,50.8
Jay Zee,85.0
Adam Cop,94.5
Mary Me,100.0
在正确的方向一推将是巨大的,谢谢。
创建一个包含'name'和'grade'两个字段的类。让你的班级实施“可比较”,根据等级进行排序。当你读取文件中的每一行时,创建你的类的一个实例并将其添加到一个ArrayList中。然后调用Collections.sort()对列表进行排序。 – dnault 2015-04-03 01:44:20
@dnault是唯一的选择吗?我不熟悉如何使用Comparable。 – lamps 2015-04-03 01:45:59
不,它不是唯一的选择。你的老师告诉过你什么其他工具?为什么不成为你自己的教师,并阅读Javadoc for Comparable:http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html – dnault 2015-04-03 01:47:57