错误:
Sortbyname cannot be resolved to a type in java
我正在使用 Comparator 接口(interface)方法,对 java 中使用的板球运动员的姓名和分数进行排序。
我是java初学者
package javapractice2;
import java.util.*;
import java.io.*;
public class Player {
String player_name;
int player_score;
public Player(String member, int score) {
this.player_name = member;
this.player_score = score;
}
}
/比较器/
package javapractice2;
import java.util.*;
public class NameComparator {
public class Sortbyname implements Comparator<Player>{
public int compare(Player a, Player b){
return a.player_name.compareTo(b.player_name);
}
}
}
/java中的主要方法/
package javapractice2;
import java.util.ArrayList;
import java.util.Collections;
public class Mainclass {
public static void main(String[] args) {
ArrayList<Player> ply = new ArrayList<Player>();
ply.add(new Player ("kuldeep", 85));
ply.add(new Player ("jadeja", 75));
ply.add(new Player ("dohni", 48));
ply.add(new Player ("kozhi", 78));
ply.add(new Player ("raina", 48));
ply.add(new Player ("sachin", 85));
ply.add(new Player ("yuvaraj", 100));
ply.add(new Player ("Ajinkya", 85));
ply.add(new Player ("baji", 75));
ply.add(new Player ("hardik", 55));
Collections.sort(ply, new Sortbyname());
for(int i=0; i<ply.size(); i++){
System.out.println(ply.get(i));
}
}
}
最佳答案
代码中的所有内容都很好,除了以下内部类样式代码:
public class NameComparator {
public class Sortbyname implements Comparator<Player>{
因此将此类更改如下:
按名称排序.java
package javapractice2;
import java.util.Comparator;
public class Sortbyname implements Comparator<Player> {
public int compare(Player a, Player b) {
return a.player_name.compareTo(b.player_name);
}
}
还在 Player.java 中添加一个 toString()
方法以获得更好的输出打印:
package javapractice2;
public class Player {
String player_name;
int player_score;
public Player(String member, int score) {
this.player_name = member;
this.player_score = score;
}
@Override
public String toString() {
return "Player [player_name=" + player_name + ", player_score=" + player_score + "]";
}
}
否则,如果您想保留代码,请在 Mainclass.java 中更新以下内容:
Collections.sort(ply, new NameComparator().new Sortbyname());
关于java - Sortbyname 无法解析为 java 中的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49790874/