永发信息网

怎么用java代码按从大到小排序红桃8红桃8红桃Q红桃7红桃4红桃J红桃9红桃K

答案:2  悬赏:0  手机版
解决时间 2021-11-21 00:45
  • 提问者网友:欺烟
  • 2021-11-20 10:31
怎么用java代码按从大到小排序红桃8红桃8红桃Q红桃7红桃4红桃J红桃9红桃K
最佳答案
  • 五星知识达人网友:梦中风几里
  • 2021-11-20 12:01
这样貌似不是很合理。因为按字母排序都是Q在K的后面,所以可以实现Q、K、J、9、8、7、4
这样的排序。实现很简单,代码如下:
String[] str={"红桃5","红桃Q","红桃8","红桃9","红桃K","红桃J","红桃6","红桃7"};
List list=new ArrayList();
for(int i=0;i {
list.add(str[i]);
}
Collections.sort(list);//升序排序
Collections.reverse(list);//把升序倒换成倒序
for(int i=0;i {
System.out.println(list.get(i));
}
要实现你的功能,那得再加上数组进行判断。如:
String[] str1={"K","Q","J".......};追问是我问错了应该是这样把这些字符串先按最后一个字符排序,之后在按第一个字符排序
黑桃A,红桃9,方片8,黑桃5,方片7,方片4,梅花4,红桃6,黑桃6,梅花7,黑桃2,红桃7,梅花6,梅花5,红桃4,方片7,黑桃9,红桃Q,梅花9,黑桃3,黑桃4梅花2,黑桃7,梅花8,红桃8,方片5,梅花3,红桃4,梅花K,黑桃9黑桃J,JOKER,红桃3,梅花A,方片K,黑桃A,红桃9,JOKER追答有点模糊,没大听懂。上面的东西,你需要得出什么结果?追问其实我就是想做个发牌效果,网上玩不是都帮摆好牌的吗?花色也是按固定顺序排的追答哦。明白了。
刚抽空出来。做个简单的,思路就是这样(本人想的一个比较笨拙的方法),你可以依葫芦画瓢能实现你的功能:代码如下:

import java.util.*;
import java.util.List;
public class Test {
public static void main(String[] args) {
String[] str={"5","Q","8","9","K","J","6","A"};
Test test=new Test();
List ret=test.returnValue(str);
for(int i=0;i {
System.out.println(ret.get(i));
}
}
public List returnValue(String[] str)
{
String[] num={"A","K","Q","J","10","9","8","7","6","5","4","3","2"};//模板
List model=new ArrayList();
for(int i=0;i {
model.add(num[i]);
}
HashMap src=new HashMap();
for(int i=0;i {
for(int j=0;j {
if(model.get(j).trim().equals(str[i]))
{
map.put(j,model.get(j));//存储到HashMap里。
}
}
}
Object[] key = map.keySet().toArray();
Arrays.sort(key);//排序
List ret=new ArrayList();
for (int i = 0; i < key.length; i++) {
ret.add(map.get(key[i]));
}
return ret;
}
}
全部回答
  • 1楼网友:一叶十三刺
  • 2021-11-20 12:42
自己新建card类吧,把每张牌给个value值,然后按value排序,打印的时候获取card名称就行了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯