java折叠自行车x1-auto,java入门第三季 7-1 简易扑克练习
比较方法
import java.util.Comparator;
public class CardComparator implements Comparator{
@Override
public int compare(Card o1, Card o2) {
// TODO Auto-generated method stub
int flag=0;
String [] color={"黑桃","红桃","方片","梅花"};
String [] value={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
int x1=0,x2=0;
for(int i=0;i
if(o1.value==value[i])
x1=i;
if(o2.value==value[i])
x2=i;
}
if(x1>x2){
flag=1;
}
else if (x1
flag=-1;
}
else if(x1==x2) {
for(int i=0;i
if(o1.value==color[i])
x1=i;
if(o2.value==color[i])
x2=i;
}
if(x1>x2)
flag=1;
if(x1
flag=-1;
if(x1==x2)
flag=0;
}
return flag;
}
}
用户类
import java.util.ArrayList;
public class User {
public int id;
public String name;
ArrayList handCard;
public User(int id, String name) {
super();
this.id = id;
this.name = name;
handCard=new ArrayList();
}
}
卡片类
public class Card {
public String color;
public String value;
public Card(String color, String value) {
super();
this.color = color;
this.value = value;
}
@Override
public String toString() {
return color+value ;
}
}
测试类
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Test {
public ArrayList card;
public ArrayList users;
public ArrayList userA;
public ArrayList userB;
public void initiaCard() {
//卡片初始化
card=new ArrayList();
String [] color={"黑桃","红桃","方片","梅花"};
String [] value={"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
for(int i=0;i<4;i++){
for(int j=0;j<13;j++){
card.add(new Card(color[i], value[j]));
}
}
System.out.println("卡片创建成功");
for (Card string : card) {
System.out.print(string);
}
Collections.shuffle(card);
System.out.println("洗牌完毕");
}
public void initiaUser() {
//添加用户
users=new ArrayList();
Scanner scanner=new Scanner(System.in);
for(int i=1;i<3;i++){
int id=0;
System.out.println("请输入第"+i+"位玩家的ID");
try {
id=scanner.nextInt();
} catch (Exception e) {
// TODO: handle exception
System.out.println("请输入整数类型的ID");
String rubish=scanner.next();//防止无限循环输出第一条语句
i--;
continue;
}
System.out.println("请输入第"+i+"位玩家的姓名");
String name=scanner.next();
User user=new User(id, name);
users.add(user);
}
System.out.println("用户创建成功");
}
public void faPai() {
System.out.println("开始发牌");
int j=0;
for(int i=0;i<2;i++){
System.out.println(users.get(0).name+"拿牌");
users.get(0).handCard.add(card.get(j));
j++;
System.out.println(users.get(1).name+"拿牌");
users.get(1).handCard.add(card.get(j));
j++;
}
System.out.println("发牌结束");
//遍历玩家拿到的手牌
for (User user : users) {
System.out.println(user.name+"手牌为---"+user.handCard);
}
}
public void compare() {
CardComparator cardComparator=new CardComparator();
//分别用两个集合存储两个用户所得的卡牌
userA=new ArrayList();
userB=new ArrayList();
userA.add(users.get(0).handCard.get(0));
userA.add(users.get(0).handCard.get(1));
userB.add(users.get(1).handCard.get(0));
userB.add(users.get(1).handCard.get(1));
//判断第一个用户最大的卡牌是哪张
int x=cardComparator.compare(userA.get(0), userA.get(1));
Card aCard=null;
if(x==1){
aCard=userA.get(0);
}
else {
//包括相等的情况
aCard=userA.get(1);
}
System.out.println(users.get(0).name+"的最大卡牌为"+aCard);
//判断第二个用户最大的卡牌是哪张
int y=cardComparator.compare(userB.get(0), userB.get(1));
Card bCard=null;
if(y==1){
bCard=userB.get(0);
}
else {
//包括相等的情况
bCard=userB.get(1);
}
//把他们各自最大的卡牌拿出来比较
System.out.println(users.get(1).name+"的最大卡牌为"+bCard);
int result=cardComparator.compare(aCard, bCard);
if(result==1){
System.out.println(users.get(0).name+"获胜");
}else if (result==0) {
System.out.println(users.get(0).name+"与"+users.get(1).name+"平均");
}else {
System.out.println(users.get(1).name+"获胜");
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Test test=new Test();
test.initiaCard();//初始化卡牌
test.initiaUser();//初始化用户
test.faPai();//发牌
test.compare();//比较大小并输出
}
}
java折叠自行车x1-auto,java入门第三季 7-1 简易扑克练习相关推荐
- java怎么实现打牌_JAVA入门第三季实战:简易扑克牌
本程序使用了ArrayList .HashMap,简单应用了Java第三季的集合框架 首先创建一个卡牌类 /** * 扑克类 */ public class Poker { public Poker( ...
- 黑桃k游戏java实战_JAVA入门第三季综合实战-简易扑克游戏
自己写加参考,解决了抛异常只抛一次的问题 ,使程序更加完整 卡片类 package practice; public class Card { @Override public int hashCod ...
- java基础实战练习_JAVA入门第三季第七章实战练习
首先,先创建一个Gammer类与一个Poker类. /* * Gammer类包含int类型的id属性与String类型的name属性! * id用int类型是为了测试后面创建用户时输入异常的情况. * ...
- 阿克斯java表_java 入门第三季的6-5 作业, 希望大家指点
java 入门第三季的6-5 作业, 希望大家指点 public static void main(String[] args) { // TODO Auto-generated method stu ...
- book类 借书 java_模拟借书系统(Java入门第三季第一章练习)
程序流程图我就不放上来了,慕友们将就着看看吧,注释还算清晰. 这段代码是Java入门第三季异常与异常处理这一章的练习题, 代码尚有不足,请多多指教. /** * 功能:模拟借书系统 * 要求: * 1 ...
- java了解异常_ID检测_Java入门第三季7-1简易扑克牌游戏(自定义玩家个数,玩家个数和ID异常检测)...
玩家类: package playingCardsGame; import java.util.ArrayList; import java.util.List; /* * 玩家类 */ public ...
- 用java统计任一书名次数_Java入门第三季 借书系统源代码 加入了限制重输次数 欢迎指教交流...
昨天刷完了关于异常的视频,感觉讲的太跳跃了,让我这个新手有点不适应,摸索了很久才完成了这个借书系统,擅自命名为达达借书系统,我还没习惯写备注,如果有看不懂的地方,欢迎大家留言指教. 建立 JieShu ...
- java 记牌_JAVA入门第三季——简易扑克牌
package PlayingCards; /** * * * 定义扑克牌类 * @author Administration * */ public class Card { private int ...
- java编程10以内随机数字乘除_随机生成10个长度为10以内的字符串并排序(Java入门第三季集合下作...
作业要求: 实现代码: package JiHe; import java.util.List; import java.util.Collections; import java.util.Arra ...
最新文章
- 使用Java API创建(create),查看(describe),列举(list),删除(delete)Kafka主题(Topic)--转载...
- redis高并发抽奖
- JAVA线程池的分析和使用--笔记
- jQuary总结11:jQuery插件封装---jQuery封装 手风琴 动画插件
- 【Java】如何理解Java中的异常机制?
- LaTeX:equation, aligned 书写公式换行,顶部对齐
- (125)FPGA面试题-熟悉AXI总线吗,介绍AXI
- 蒟蒻7.16题解(选值+遛狗+树上博弈)
- 背景建模与前景检测之二(Background Generation And Foreground Detection Phase 2)
- Typora基本技巧
- 2018-2019-2 20165205《网络对抗技术》Exp4 恶意代码分析
- java连连看代码_Java版连连看
- 创建第一个mybatis程序 遇到的问题
- 安警官的IP地址是怎样定位到莽村附近的?
- Kali Linux查看信息
- 【论文整理】小样本学习Few-shot learning论文整理收藏(最全,持续更新)
- Linux进程管理之“四大名捕”
- sql的datetime 数据类型
- 2020算法面经问题汇总
- Verilog之从BMP图片中读取RGB数据
热门文章
- 字节跳动宣布取消大小周;淘宝、支付宝等阿里系App取消开屏广告;Python 3.10 beta 4 发布|极客头条...
- 大道至简:微众银行区块链全栈技术体系纵览
- 已被骗数百万美金!App Store 中诈骗应用横行,网友:“苹果只顾抽成!”
- 你还在为查询滑动窗口最大值发愁吗?点开看最高效率解法!
- 推动隐私计算技术,360数科提出分割式神经网络框架
- 涨知识!Google 黑客常用搜索语句一览 | 原力计划
- 程序员惊魂 12 小时:“���”引发线上事故
- “弃用 Google AMP!”
- 给 Python 开发者的四条忠告!| CSDN 博文精选
- 数据有为 智在决策 | 观远数据2019智能决策峰会圆满落幕