对齐数据java并对其进行排序

时间:2015-04-12 12:16:35

标签: java arrays sorting

所以我有一个程序,每次用户输入他的成绩和其他数据时,它应该正确对齐并根据最高和最低分数。我在下面做了一个示例代码:

       String[] names={"girlA","girlB","boyC"};
       String[] gradeLevel={"8th grade","10th grade" , "7th grade"};
       double[] grades={78.9,23.2,65.7};

    System.out.println("Name of Student"+ "\t" + "Grade Level"+ "\t"+ "Grades");
    for(int i=0;i<3;i++){
        System.out.println(names[i]+"\t"+ gradeLevel[i]+ "\t"+ grades[i]);
    }

它应该是这样的:

enter image description here

如何在不使用“\ t”的情况下正确对齐它们,如何根据等级对名称进行排序,从高到低对等级进行排序?

2 个答案:

答案 0 :(得分:1)

我不知道问题的范围,但如果可能的话,我会建议创建一个包含这三个字段的对象,例如Student。然后,您可以根据成绩对学生列表进行排序,您将始终知道该对象的名称和级别 关于如果您不想使用tab标签,请正确对齐它们,您可以查看String.format方法,并执行以下操作:

String.format("%1$"+length+ "s", string);

这将返回一个大小为“length”的字符串,其中包含“string”,并使用空格填充其余长度

答案 1 :(得分:0)

您可以使用Comparable Interface或Comparator对对象进行排序。

https://docs.oracle.com/javase/tutorial/collections/interfaces/order.html