扑克牌排序

问题描述

  扑克牌排序:构造扑克牌数组,对扑克牌进行排序。

排序原则如下:数字从小到大是2-10、J、Q、K和A,花色从小到大是方块(diamond)、梅花(club)、红桃(heart)、黑桃(spade)。

两张牌比较时先看数字,数字相同时看花色。要求对输入的扑克牌进行从小到大排序。

输入五张牌(表示黑桃2、红桃3、黑桃3、方块A和梅花J): 2s3h3sAdJc

  输出结果应为:2 s 3 h 3 s J c A d数组长度固定为5。

package 第六次模拟;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class Demo11扑克牌 { public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
String[] s1 = s.split("d|c|h|s");
A[] a = new A[s1.length];
for (int i = 0; i < s1.length; i++) {
a[i] = new A();
a[i].data1 = s1[i];
if (s1[i].equals("10")) {
a[i].data = "91";
}
if (s1[i].equals("J")) {
a[i].data = "92";
continue;
} else if (s1[i].equals("Q")) {
a[i].data = "93";
continue;
} else if (s1[i].equals("K")) {
a[i].data = "94";
continue;
} else if (s1[i].equals("A")) {
a[i].data = "95";
continue;
}
a[i].data = s1[i];
}
List<A> list = new ArrayList<A>();
int h = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == 'd') {
a[h].color = 1;
a[h].color1 = "d";
list.add(a[h++]);
} else if (s.charAt(i) == 'c') {
a[h].color = 2;
a[h].color1 = "c";
list.add(a[h++]);
} else if (s.charAt(i) == 'h') {
a[h].color = 3;
a[h].color1 = "h";
list.add(a[h++]);
} else if (s.charAt(i) == 's') {
a[h].color = 4;
a[h].color1 = "s";
list.add(a[h++]);
} }
Collections.sort(list);
for (A b : list) {
System.out.print(b.data1 + b.color1 + " ");
}
} static class A implements Comparable<A> {
String data;
String data1;
String color1;
int color; @Override
public int compareTo(A o) {
if (data.equals(o.data)) {
return color - o.color;
} else {
return data.compareTo(o.data);
}
} }
}

Java实现蓝桥杯算法提高12-2扑克排序的更多相关文章

  1. Java实现 蓝桥杯 算法提高 进攻策略加强(暴力)

    试题 算法提高 进攻策略加强 问题描述 植物大战僵尸这款游戏中,还有一个特别的玩儿法:玩家操纵僵尸进攻植物. 首先,僵尸有m种(每种僵尸都是无限多的),玩家可以选择合适的僵尸来进攻.使用第i种僵尸需要 ...

  2. Java实现 蓝桥杯 算法提高 小X的购物计划

    试题 算法提高 小X的购物计划 问题描述 小X打算去超市shopping.小X没什么钱,只有N元.超市里有M种物品,每种物品都需要money,在小X心中有一个重要度.有的物品有无限件,有的物品只有几件 ...

  3. Java实现蓝桥杯 算法提高 八皇后 改

    **算法提高 8皇后·改** 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 规则同8皇后问题,但是棋盘上每格都有一个数字,要求八皇后所在格子数字之和最大. 输入格式 一个8*8的棋 ...

  4. Java实现 蓝桥杯 算法提高 日期计算

    算法提高 日期计算 时间限制:1.0s 内存限制:256.0MB 问题描述 已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况.尤其是逢百年不闰,逢400年闰的情 ...

  5. Java实现 蓝桥杯 算法提高 周期字串

    算法提高 周期字串 时间限制:1.0s 内存限制:256.0MB 问题描述 右右喜欢听故事,但是右右的妈妈总是讲一些"从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事,讲的什么呢?从前有 ...

  6. Java实现 蓝桥杯 算法提高 三进制数位和

    算法提高 三进制数位和 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 给定L和R,你需要对于每一个6位三进制数(允许前导零),计算其每一个数位上的数字和,设其在十进制下为S. 一个 ...

  7. Java实现 蓝桥杯 算法提高 矩阵相乘

    算法提高 矩阵相乘 时间限制:1.0s 内存限制:256.0MB 问题描述 小明最近在为线性代数而头疼,线性代数确实很抽象(也很无聊),可惜他的老师正在讲这矩阵乘法这一段内容. 当然,小明上课打瞌睡也 ...

  8. Java实现 蓝桥杯 算法提高 新建Microsoft world文档

    算法提高 新建Microsoft Word文档 时间限制:1.0s 内存限制:256.0MB 问题描述 L正在出题,新建了一个word文档,想不好取什么名字,身旁一人惊问:"你出的题目叫&l ...

  9. Java实现蓝桥杯 算法提高 身份证号码升级

    算法提高 身份证号码升级 时间限制:1.0s 内存限制:256.0MB 问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为: 1.把15位 ...

  10. Java实现蓝桥杯算法提高 哥德巴赫猜想

    试题 算法提高 哥德巴赫猜想 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 根据所给函数(判断一个整数是否是素数),然后依托该函数,将输入N内的偶数(6-N),输出为两个素数之和( ...

随机推荐

  1. Scala 中 Any 类源码

    package scalaabstract class Any { def equals(that: Any): Boolean //值比较 def hashCode(): Int //hash值 d ...

  2. 【hdu5100】棋盘覆盖

    http://acm.hdu.edu.cn/showproblem.php?pid=5100 题目大意: 用1*k的木块铺n*n的棋盘,求多铺满多少个单位格. 方法: n < k,显然无解:n ...

  3. dedecms织梦建站后怎么防止被黑,加强安全漏洞措施?

    dedecms织梦建站后怎么防止被黑,加强安全漏洞措施? 很多人反映dedecms织梦网站被黑的情况,因为织梦相对来说漏洞还是挺多的,特别是新建设的站点,有些目录.文件该删的删,权限及安全都要设置,以 ...

  4. mybatis多对一与一对多

    步骤: 1.创建maven项目 2.编写工具类 3.编写实体类 4.编写mapper接口 5.配置xml 6.测试 多对一:多个学生关联一个老师 工具类: //sqlSessionFactory -- ...

  5. 12.1 Go nsq

    12.1 Go nsq 1.nsq是Go语言编写的,开源的内存分布式消息队列中间件 2.可以大规模的处理每天数以十亿级别的消息 3.分布式和去中心化拓扑结构,无单点故障 4.地址https://git ...

  6. 如何覆盖elementUI样式

    question: 在某个组件里面更改element-Ui的样式,而不影响全局. solution: 在需要更改的组件里新增一个style标签[重点:不要加scoped],然后直接获取class设置样 ...

  7. JavaScript实现单向链表结构

    参考资料 一.什么是链表结构? 1.1.简介 链表和数组一样, 可以用于存储一系列的元素, 但是链表和数组的实现机制完全不同,链表中的元素在内存不是连续的空间,链表的每个元素由一个存储元素本身(数据) ...

  8. Mysql-NULL转数字

    最近做了一个学生成绩表,其中遇到一个小问题 需要统计个门科目的平均成绩,在统计到高等数学时,因为高数没有人考,在成绩表中根本不存在的分数,但是在课程表存在高数科目. 当这两个表内联然后统计分数,这样会 ...

  9. mybatis的多表联查

    多对一连表查询简单记录

  10. C#判断TCP连接状态