使用compareTo方法遇到麻烦

时间:2019-11-23 19:06:51

标签: java compare

嘿,我最近一直在尝试学习compareTo方法,但这非常令人困惑。 该程序的目标是将信息硬编码为一组对象,并按测试分数对其进行排序。问题是compareTo方法,由于我正在使用的书没有详细介绍此方法,因此我无法创建该方法。这是到目前为止的代码。

public class janesj_Lab7 {
    public static void main(String[] args) {

    CS_UnderGradStudent no1 = new CS_UnderGradStudent(101,"Nancy","Brown","abc@kean.edu",70.0);
    CS_UnderGradStudent no2 = new CS_UnderGradStudent(102,"John", "May","def@kean.edu",90);
    CS_GradStudent no3 = new CS_GradStudent(103,"William","Smith","xyz@kean.edu",70,"Database");
    Object[] arrays = new Object[3];
    arrays[0] = no1;
    arrays[1] = no2;
    arrays[2] = no3;
    int x = (int)Student.getGrade();
    Arrays.sort(arrays,0,3);
    for(int i = 0;i<arrays.length;i++) {
        System.out.println(arrays[i].toString());
    }
    }



        public static abstract class Student implements Comparable<Student>{
        public static int studentId;
        public static String firstName;
        public static String lastName;
        public static String email;
        public static double testScore;
        public static String STUDENT_TYPE;

        public static double getGrade(){
        return testScore;
        }
        public static String getStudent() {
        return STUDENT_TYPE;
        }




        public Student(int id,String fname, String lname, String email, double testScore){
        this.studentId = id;
        this.firstName = fname;
        this.lastName = lname;
        this.email =email;
        this.testScore = testScore;
        }







        @Override
        public String toString() {
        String x = Double.toString(testScore);
        return "\tStudent ID: " + studentId + " name: "+ firstName + ","+ lastName + " Email: " + email + " testScore: " + x;
        }
        public abstract String computeGrade();
        }

        public static class CS_UnderGradStudent  extends Student  implements Comparable<Student>{
        String STUDENT_TYPE ="CS_UnderGradStudent";
        public CS_UnderGradStudent(int id,String fname, String lname, String email, double testScore) {
        super(id,fname,lname,email,testScore);
        }

        public String computeGrade() {
        if( testScore>=70) {
        return "Pass";
        }
        else {
        return "Fail";
        }
        }
        public String toString(){
        String x = Double.toString(testScore);
        return"student type: " + STUDENT_TYPE + "\n" + super.toString() + "\n\t" + "Grade: " + computeGrade();
        }
        }
        public static class CS_GradStudent extends Student implements Comparable<Student>{
        String STUDENT_TYPE = "CS_GradStudent";
        String researchTopic;
        public CS_GradStudent(int id,String fname, String lname, String email, double testScore,String r) {
        super(id,fname,lname,email,testScore);
        researchTopic = r;
        }
        public String computeGrade() {
        if(testScore>= 80) {
        return "Pass";
        }
        else {
        return "Fail";
        }
        }
        public String toString() {
        String x = Double.toString(testScore);

        return"student type: " + STUDENT_TYPE + "\n" + super.toString() + "\n" + "Grade: " + computeGrade() + "\nResearch Topic: " + researchTopic;
        }

        }


        }
        ```

0 个答案:

没有答案