java数组按照大小排列_Java怎么让数组中元素按照牌值从小到大的顺序排列

展开全部

你说的这些牌是用数组来存放的,所以有些麻烦。直接复制运行,更改牌的62616964757a686964616fe58685e5aeb931333332643838数量测试,有不懂的再问我package test;

import java.util.Arrays;

import java.util.Random;

public class DaoTest {

public static void main(String[] args) {

String[] str = getArr(100);

str = sorts(str);

System.out.println(Arrays.toString(str));

}

/**

* 从牌堆里抽出n张牌,可以有重复

*

* @param n

* @return

*/

public static String[] getArr(int n) {

String[] suit = { "黑桃", "红心", "梅花", "方块" };

String[] number = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10",

"J", "Q", "K" };

String[] result = new String[54];

int index = 0;

for (int i = 0; i 

for (int j = 0; j 

result[index] = "" + suit[i] + number[j];

index++;

}

}

result[52] = "小王";

result[53] = "大王";

String[] some = new String[n];

for (int i = 0; i 

some[i] = result[(new Random()).nextInt(54)];

}

return some;

}

/**

* 将所有牌分为5组,排序后在放到一起

* @param arr

* @return

*/

public static String[] sorts(String[] arr) {

System.out.println(Arrays.toString(arr));

StringBuffer ht = new StringBuffer("");

StringBuffer hx = new StringBuffer("");

StringBuffer mh = new StringBuffer("");

StringBuffer fk = new StringBuffer("");

StringBuffer king = new StringBuffer();

for (int i = 0; i 

if (arr[i].length() == 2) {

if (king.toString().isEmpty()) {

king.append(arr[i]);

} else {

king.append("," + arr[i]);

}

} else if (arr[i].contains("黑桃")) {

if (ht.toString().isEmpty()) {

ht.append(arr[i]);

}else{

ht.append("," + arr[i]);

}

} else if (arr[i].contains("红心")) {

if (hx.toString().isEmpty()) {

hx.append(arr[i]);

}else{

hx.append("," + arr[i]);

}

} else if (arr[i].contains("梅花")) {

if (mh.toString().isEmpty()) {

mh.append(arr[i]);

}else{

mh.append("," + arr[i]);

}

} else {

if (fk.toString().isEmpty()) {

fk.append(arr[i]);

}else{

fk.append("," + arr[i]);

}

}

}

String[] aht = ht.toString().trim().split(",");

String[] ahx = hx.toString().trim().split(",");

String[] amh = mh.toString().trim().split(",");

String[] afk = fk.toString().trim().split(",");

String[] aking = king.toString().trim().split(",");

aht = sort1(aht);

ahx = sort1(ahx);

amh = sort1(amh);

afk = sort1(afk);

aking = sort1(aking);

String[] result = new String[arr.length];

int index = 0;

if (aht[0].length() != 0) {

for (int i = 0; i 

result[index] = aht[i];

index++;

}

}

if (ahx[0].length() != 0) {

for (int i = 0; i 

result[index] = ahx[i];

index++;

}

}

if (amh[0].length() != 0) {

for (int i = 0; i 

result[index] = amh[i];

index++;

}

}

if (afk[0].length() != 0) {

for (int i = 0; i 

result[index] = afk[i];

index++;

}

}

if (aking[0].length() != 0) {

for (int i = 0; i 

result[index] = aking[i];

index++;

}

}

return result;

}

/**

* 按照3-J-A-2-小王-大王的顺序排序

* @param some

* @return

*/

public static String[] sort1(String[] some) {

if (some.length == 1 && some[0].length() == 0) {

return some;

}

if (some[0].length() == 2) {

Arrays.sort(some);

String[] result = new String[some.length];

for(int i = 0;i

result[i] = some[some.length-1-i];

}

return result;

}

String[] result = new String[some.length];

int[] number = new int[some.length];

String suit = "" + some[0].charAt(0) + some[0].charAt(1);

for (int i = 0; i 

String s = "" + some[i].substring(2);

if ("A".equals(s)) {

s = "14";

} else if ("J".equals(s)) {

s = "11";

} else if ("Q".equals(s)) {

s = "12";

} else if ("K".equals(s)) {

s = "13";

} else if ("2".equals(s)) {

s = "15";

}

number[i] = Integer.parseInt(s);

}

Arrays.sort(number);

for (int i = 0; i 

String s = "" + number[i];

if (number[i] == 11) {

s = "J";

} else if (number[i] == 12) {

s = "Q";

} else if (number[i] == 13) {

s = "K";

} else if (number[i] == 14) {

s = "A";

} else if (number[i] == 15) {

s = "2";

}

result[i] = suit + s;

}

return result;

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345119.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【渝粤题库】陕西师范大学700005 遗传学

《遗传学》作业 一、名词解释 1.杂种优势 2. 外显率 3.罗伯逊易位 4.上位效应   5.互补测验 6.表现度 7.平衡…

通过示例了解Apache Ignite Baseline拓扑

点燃基准拓扑或BLT表示群集中的一组服务器节点,这些服务器节点将数据持久存储在磁盘上。 其中,N1-2和N5服务器节点是具有本机持久性的Ignite集群的成员,这些集群使数据能够持久存储在磁盘上。 N3-4和N6服务器节点是Ignite群集的成员&#x…

国家开放大学2021春1032成本管理题目

教育 教育 试卷代号: 1032 2021年春季学期期末统一考试 成本管理 试题 2021年7月 一、单项选择题(本类题共20分,每小题2分) 1.交互分配法一般在( )分配中使用。 A.直接材料费用 B.辅助生产费用 C.直接工资 D.在产品成本 2.采用品…

java synchronized 参数_synchronized 参数的理解

synchronized 是java中用来同步的方法,详细的就不介绍了。synchronized的用法为:synchronized(锁){代码块}这个锁是什么呢,我看了很多说法但没有一个能讲清楚的。通过一段时间的使用后逐渐发现了一些synchronized使用的规律使用synchronized是…

Spring Boot集成测试中@ContextConfiguration和@SpringApplicationConfiguration之间的区别

即使同时使用ContextConfiguration和SpringApplicationConfiguration批注以及SpringJUnit4ClassRunner来指定如何加载Spring应用程序上下文,它们之间也存在细微的差异。 尽管ContextConfiguration在加载应用程序上下文方面表现出色,但没有充分利用Spring…

【渝粤题库】广东开放大学 秘书理论与实务 形成性考核

👉关注我,看答案👈 选择题 题目:秘书的职责之一是服从上级,既然秘书要服从上级,那么即使发现上级有错误时也不能指出来。 题目:权利人对产品设计、工艺流程、配方、质量管理等方面的技术信息采取保密措施属…

【渝粤题库】广东开放大学 数据库技术安全 形成性考核

选择题 题目:6-1、与大数据密切相关的技术是()。 题目:6-2、大数据应用需依托的新技术有()。 题目:6-3、以下哪个不是大数据的特性()。 题目:6-4、下列哪一项…

【渝粤题库】广东开放大学 PHP动态网站设计 形成性考核

选择题 题目: PHP 服务器脚本由_________分隔符包围? 题目: 下列说法不正确的是____________。 题目: PHP是一种跨平台、____________的网页脚本语言。 题目: PHP网站可称为____________。 题目: PHP…

vert.x_使用vert.x 2.0,RxJava和mongoDB创建simpe RESTful服务

vert.x中断了将近半年后发表了一篇新文章。 在本文中,我们将快速了解如何开始使用vert.x,更有趣的是,如何使用RxJava简化异步系统的编程。 我们将涵盖以下主题: 使用Maven创建一个空的vert.x项目 导入IntelliJ并创建一个简单的H…

java底层编程_万字长文!从底层开始带你了解并发编程,彻底帮你搞懂Java锁!

线程是否要锁住同步资源锁住 悲观锁不锁住 乐观锁锁住同步资源失败 线程是否要阻塞阻塞不阻塞自旋锁,适应性自旋锁多个线程竞争同步资源的流程细节有没有区别不锁住资源,多个线程只有一个能修改资源成功,其它线程会重试无锁同一个线程执行同步…

【渝粤题库】广东开放大学 会展英语 形成性考核

选择题 题目:_______ refers to attaching meaning to sense data and is synonymous with decoding.()。 题目:依据平衡计分卡的思想,把组织的战略分成财务战略、客户战略、内部业务流程战略和 题目:Ameri…

【渝粤题库】广东开放大学 外贸会计 形成性考核

选择题 题目: 在实际业务中,FOB条件下,买方常委托卖方代为租船、订舱,其费用由买方负担。如到期订不到舱,租不到船( )。 题目: 在实际业务中,FOB条件下,买…

java怎么截取后8位数字_java如何更快生成00000000~99999999的8位数字保存到文件中?...

你的代码之所以会这么慢主要因为两个半半点:1:你循环多少次就打开多少次文件。2:你用了String.format("%08d", atLong)你应该先转换成String再用substring来整理....另外半点:你循环多了个0...并且还循环System.out.pri…

如何通过Rultor将Maven工件部署到CloudRepo

在我以前的文章中 ,我描述了如何在Amazon S3中设置私有Maven存储库并通过Rultor进行部署。 如果您熟悉管理Amazon Web Services(AWS), S3和AWS Identity and Access Management(IAM)的话,这是一…

【渝粤题库】广东开放大学 岭南文化概论专科 形成性考核

选择题 题目:中国由北而南最大规模的“移民潮”发生在()代。 题目:位于五岭之一的大庾岭道上的粤北南雄(),是移民入粤的重要中转站。 题目:汉代所置的()郡,管辖番禺.博罗…

【渝粤题库】广东开放大学 建筑施工技术 形成性考核

选择题 题目:以下土料不能用作填方的是()。 题目:在地下水的处理方法中,属于降水法的是()。 题目:在填方工程中,以下说法正确的是()。 题目&#…

java 拉丁文 unicode_“java语言使用的是Unicode编码”是指的jvm?.java文件?

*.java (utf-8/gbk/...) -> *.class (utf-8) -> memory (utf-16)javac 编译中有参数可以制定源代码的编码-encoding Specify character encoding used by source files所以源码用其他编码都是可以的,最常见的是使用UTF-8.See also:在类文件中字符串也是以utf-…

【渝粤题库】广东开放大学 计算机应用基础(本) 形成性考核

选择题 题目:Windows的任务栏可用于________。 题目:Windows中可以设置、控制计算机硬件配置和修改显示属性的应用程序是________。 题目:在Windows中下面的叙述正确的是___________。 题目:计算机可以进行自动处理的基础是______…

java里面自行车的属性_11、Java基础知识

1、安装jdk,配置环境变量2、public class HelloWorld{publicstatic void main(String[] args){System.out.println(‘HelloWorld’);}}3、编译过程:通过javac编译java文件,生成.class文件,使用java命令运行class文件,注…

布线问题分支限界法java_大型布线:Java云应用程序缺少的技术

布线问题分支限界法java您是否曾经想过,为什么大多数Java框架中的依赖项注入仅用于本地进程内服务而不是分布式服务? 我最近在2013年EMC世界大会上遇到了Paul Maritz的主题演讲 (跳至第32分钟),这使我在云平台的背景下…