Java中怎么对数组中的字符串进行排序
例如一个数组[梅花A,小王,方块9,方块K,黑桃2,红心3]怎么让它按照牌值3、4、5、6、7、8、9、10、J、Q、K、A、2、小王、大王排序最后结果为[红心3,方块9...
例如一个数组 [ 梅花A, 小王, 方块9, 方块K, 黑桃2, 红心3 ]
怎么让它按照牌值3、4、5、6、7、8、9、10、J、Q、K、A、2、小王、大王排序
最后结果为 [ 红心3,方块9, 方块K,梅花A, 黑桃2,小王 ]
能给我定义一个方法的代码么? 展开
怎么让它按照牌值3、4、5、6、7、8、9、10、J、Q、K、A、2、小王、大王排序
最后结果为 [ 红心3,方块9, 方块K,梅花A, 黑桃2,小王 ]
能给我定义一个方法的代码么? 展开
展开全部
public class Te {
public static void main(String[] args) {
String[] Target = { "梅花A", "小王", "方块9", "方块K", "黑桃2", "红心3" };
sort(Target);
for (int i = 0; i < Target.length; i++) {
System.out.print(Target[i]+" , ");
}
}
private static void sort(String[] target) {
final String[] sortR = { "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2", "小王", "大王" };
int size = target.length;
int[] temps = new int[size];
for (int i = 0; i < target.length; i++) {
for (int j = 0; j < sortR.length; j++) {
if (target[i].contains(sortR[j])) {
temps[i] = j;
}
}
}
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - 1; j++) {
if (temps[j] > temps[j + 1]) {
String sesTemp = target[j];
int temp = temps[j];
temps[j] = temps[j + 1];
temps[j + 1] = temp;
target[j] = target[j + 1];
target[j + 1] = sesTemp;
}
}
}
}
}
展开全部
//按正常排序。将要排序的字符串传进来;转换成整数就可以了
public Integer Count (String str){
int count = 0;
if(str.equals("小王"))
count = 16;
else if(str.equals("大王"))
count = 17;
else{
str = str.substring(str.length()-1);
if(str.toLowerCase().equals("j"))
count = 11;
else if(str.toLowerCase().equals("q"))
count = 12;
else if(str.toLowerCase().equals("k"))
count = 13;
else if(str.toLowerCase().equals("a"))
count = 14;
else if(str.toLowerCase().equals("2"))
count = 15;
else{
count = Integer.parseInt(str);
}
}
return count;
}
public Integer Count (String str){
int count = 0;
if(str.equals("小王"))
count = 16;
else if(str.equals("大王"))
count = 17;
else{
str = str.substring(str.length()-1);
if(str.toLowerCase().equals("j"))
count = 11;
else if(str.toLowerCase().equals("q"))
count = 12;
else if(str.toLowerCase().equals("k"))
count = 13;
else if(str.toLowerCase().equals("a"))
count = 14;
else if(str.toLowerCase().equals("2"))
count = 15;
else{
count = Integer.parseInt(str);
}
}
return count;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义两个数组,使用类似键值对的方式
追问
能详细说下么,具体代码怎样的,初学者求帮助(┬_┬)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
更多回答(1)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询