【发布时间】:2015-08-12 22:17:10
【问题描述】:
我在尝试正确完成排序时遇到了一点问题。我有一个引用枚举的 java 程序,并试图让枚举按升序和降序排序。
我的枚举如下:
public enum EnumList
{
A("A", "D", 5),
B("C", "E", 2),
C("B", "G", 3);
private final String bT;
private final String bA;
private final int bP;
EnumList( String t, String a, int p )
{
bT = t;
bA = a;
bP = p;
}
public String getT()
{
return bT;
}
public String getA()
{
return bA;
}
public int getP()
{
return bP;
}
}
我的主要是这样的:
public class EnumMain
{
public static class main( String[] args )
{
List<EnumList> elist = new ArrayList<EnumList>();
String response = null;
Scanner input = new Scanner( System.in );
System.out.println( "Please select how you would like the list sorted" );
System.out.println( "A for ascending, D for descending." );
System.out.println( "Please select sort order: " );
response = input.nextLine().toUpperCase();
if( response.equals( "A" ) )
{
elist.SortOrder(ASCENDING).valuesOf( getT() );
}
else if( response.equals( "D" ) )
{
elist.SortOrder(DESCENDING).valuesOf( getT() );
}
else
{
System.out.println( "You have chosen a wrong response, please try again." );
response = input.nextLine().toUpperCase();
}
}
}
这个问题是不管我做什么输出总是:
A D 5
C E 2
B G 3
不确定我做错了什么才能使其正常工作。我一直在搜索所有内容,但 http://docs.oracle.com/javase/7/docs/api/javax/swing/SortOrder.html 的文档还有很多不足之处。从我在那里阅读的内容来看,它看起来是正确的,但它不起作用。
【问题讨论】:
-
您要对它进行排序的字段是什么?
-
第一个字段应该是排序的那个......输出中的那个是 A C B 。我知道第二个字段是按升序排序的,但它是这样排列的。