Java错误:-;未找到适合排序的方法(Student[],j)“;
大家好,我是java编程新手,在练习时遇到了一个错误,请帮助我解决上面提到的问题(标题)。我还在这里附上我的代码,请解决此问题,并提前感谢:) 代码:Java错误:-;未找到适合排序的方法(Student[],j)“;,java,sorting,comparator,Java,Sorting,Comparator,大家好,我是java编程新手,在练习时遇到了一个错误,请帮助我解决上面提到的问题(标题)。我还在这里附上我的代码,请解决此问题,并提前感谢:) 代码: import java.util.Collections; 导入java.util.Comparator; 班级学生{ 公共int标志; 公共字符串名称; 公立学生(整数标记,字符串名称){ 这个。标记=标记; this.name=名称; } @凌驾 公共字符串toString(){ 返回(“名称:+this.Name+”标记:+this.Mar
import java.util.Collections;
导入java.util.Comparator;
班级学生{
公共int标志;
公共字符串名称;
公立学生(整数标记,字符串名称){
这个。标记=标记;
this.name=名称;
}
@凌驾
公共字符串toString(){
返回(“名称:+this.Name+”标记:+this.Marks);
}
}
公共类j实现了比较器{
@凌驾
公共整数比较(学生o1,学生o2){
如果(o1.标记
您应该更改集合;排序(array,new j()) 使用数组。排序。此外,您的比较器不可传递:compare(s,s)
返回-1
(将学生与自己进行比较)。集合。sort
用于排序列表<代码>数组
不是一个列表
-而是一个名称可能暗示的数组。你能提供给我代码(更新的代码)对我很有帮助,也很容易学习吗
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);
}
}