简单问题:数组排序得名次 用快速排序法去排序数组a[i][j]中[j] 的元素以 第一个[i]为标识;数组长度存储到字符串中! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你就用排序呗!~有很多种排序方法,你可以任意选择。或者你用JList,这个类里好象有那种可以直接取出最大值的方法。 java的数组必须以 arr[0]开始吗?用arr[1222]开始行吗? 我遇到了与你一样的问题。我先写了个例子,实现了基本要求。下面我按第二列的数字进行排序的。以下代码可直接运行。 public static void main(String[] args) { String list[][] = { {"user1","456"}, {"user2","63.63"}, {"user3","63.68"}, {"user4","999"} }; String temp[][]=new String[1][1]; int m=list.length; for (int i = 1; i < m; i++) { //i从1开始 for (int j = 0; j < m - i; j++) { if (Double.parseDouble(list[j][1]) < Double.parseDouble(list[j + 1][1])) { temp[0] = list[j + 1]; list[j + 1] = list[j]; list[j] = temp[0]; } } } for(int i=0;i<list.length;i++) { System.out.print(list[i][0]+" "); System.out.println(list[i][1]); } } 我改成方法了,应该没有问题了。 //以二维数组第二列的数字(若不是则转换为数字)从大到小排序 public static void sortArray2(String[][] list) { String temp[][]=new String[1][1]; int m=list.length; for (int i = 1; i < m; i++) { //i从1开始 for (int j = 0; j < m - i; j++) { if (Double.parseDouble(list[j][1]) < Double.parseDouble(list[j + 1][1])) { temp[0] = list[j + 1]; list[j + 1] = list[j]; list[j] = temp[0]; } } } }//以下为主调用测试代码 public static void main(String[] args) { String list[][] = { {"user1","456"}, {"user2","63.63"}, {"user3","63.68"}, {"user4","999"} }; sortArray2(list); for(int i=0;i<list.length;i++) { System.out.print(list[i][0]+" "); System.out.println(list[i][1]); } } to lovecure(笑一笑,生活便美好!) : 真的谢谢你! :) 再请教你:如果不用数组,该怎么实现呢?如hashtable... 求最全的java笔试题+面试题 Socket、线程相关问题 并发问题,锁问题,请SQLSERVER、JAVA高手解答,急~~~~~~~~ 我好郁闷啊~~~~~~~~~~~~~~~~ web.xml里配置配置的过滤怎么理解 谁能帮我找一个java写的牌类游戏 java Export 文件jar运行不完全正确。 servlet能调用jni做的DLL 吗? 请问 instanceof 是什么意思,在那里能用到它? 求助,Highcharts显示乱码 获取第二天日期的简单方法有吗?? “POSIX standard”是什么含义?谢谢
有很多种排序方法,你可以任意选择。
或者你用JList,这个类里好象有那种可以直接取出最大值的方法。
用arr[1222]开始行吗?
以下代码可直接运行。
public static void main(String[] args)
{
String list[][] = {
{"user1","456"},
{"user2","63.63"},
{"user3","63.68"},
{"user4","999"}
}; String temp[][]=new String[1][1];
int m=list.length;
for (int i = 1; i < m; i++) { //i从1开始
for (int j = 0; j < m - i; j++) {
if (Double.parseDouble(list[j][1]) < Double.parseDouble(list[j + 1][1])) {
temp[0] = list[j + 1];
list[j + 1] = list[j];
list[j] = temp[0];
}
}
} for(int i=0;i<list.length;i++)
{
System.out.print(list[i][0]+" ");
System.out.println(list[i][1]);
}
}
public static void sortArray2(String[][] list)
{
String temp[][]=new String[1][1];
int m=list.length;
for (int i = 1; i < m; i++) { //i从1开始
for (int j = 0; j < m - i; j++) {
if (Double.parseDouble(list[j][1]) < Double.parseDouble(list[j + 1][1])) {
temp[0] = list[j + 1];
list[j + 1] = list[j];
list[j] = temp[0];
}
}
}
}//以下为主调用测试代码
public static void main(String[] args)
{
String list[][] = {
{"user1","456"},
{"user2","63.63"},
{"user3","63.68"},
{"user4","999"}
};
sortArray2(list);
for(int i=0;i<list.length;i++)
{
System.out.print(list[i][0]+" ");
System.out.println(list[i][1]);
}
}
真的谢谢你! :)
再请教你:如果不用数组,该怎么实现呢?如hashtable...