Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java错误:-;未找到适合排序的方法(Student[],j)“;_Java_Sorting_Comparator - Fatal编程技术网

Java错误:-;未找到适合排序的方法(Student[],j)“;

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

大家好,我是java编程新手,在练习时遇到了一个错误,请帮助我解决上面提到的问题(标题)。我还在这里附上我的代码,请解决此问题,并提前感谢:)

代码:

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);
    }
}