大家好,我是java编程新手,在练习的时候遇到了一个错误,请大家帮我解决我上面说的这个问题(标题)。我也把我的代码附在这里,请解决这个问题,先谢谢你:)
代码。
import java.util.Collections;
import java.util.Comparator;
class Student{
public int marks;
public String name;
public Student(int marks, String name){
this.marks = marks;
this.name = name;
}
@Override
public String toString(){
return ("Name: " + this.name + " Marks: " + this.marks);
}
}
public class j implements Comparator<Student>{
@Override
public int compare(Student o1, Student o2){
if (o1.marks < o2.marks)
return 1;
else
return -1;
}
public static void main(String[] args) {
Student[] array = new Student[2];
array[0] = new Student(10, "varun");
array[1] = new Student(20, "gupta");
Collections.sort(array, new j());
for (Student i : array)
System.out.println(i);
}
}
你应该把Collections.sort(array, new j());改为Arrays.sort(array, new j())。