尚未完成

猫类

package 小猫钓鱼;

import java.util.Random;

public class Cat {

private String name;

private int[] card = new int[100];

private int cardnumber = 0;

public Cat(String name, int cardnumber) {

this.name = name;

this.cardnumber = cardnumber;

Random rand = new Random();

for (int i = 0; i < cardnumber; i++) {

this.card[i] = rand.nextInt(9);

}

}

// 打印所有牌

public void show() {

System.out.println(this.name + "的牌是:");

for (int i = 0; i < this.cardnumber; i++) {

System.out.println(this.card[i] + " ");

}

}

// 依次打出手中的牌

public int outcard() {

int temporary = card[0];

for (int i = 0; i < (this.cardnumber - 1); i++) {

card[i] = card[i + 1];

}

this.cardnumber -= 1;

System.out.println(this.name + "打出" + temporary);

return temporary;

}

// 接收桌面上的牌

public void getcard(int[] desktop) {

System.out.println(this.name + "获得桌面上所有牌");

int i = desktop.length;

while ((i - 1) >= 0) {

this.card[cardnumber] = desktop[i - 1];

i--;

cardnumber++;

}

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

// 目前手牌数

public int getCardnumber() {

return cardnumber;

}

public void setCardnumber(int cardnumber) {

this.cardnumber = cardnumber;

}

// 单元测试

// public static void main(String[] args) {

// Cat cat1 = new Cat("咖啡猫", 5);

//

// cat1.show();

// System.out.println(cat1.outcard());

// cat1.show();

// int[] a = new int[5];

// for (int i = 0; i < 5; i++)

// a[i] = i + 1;

// cat1.getcard(a);

// cat1.show();

// System.out.println(cat1.getCardnumber());

// for (int i = 0; i < 5; i++)

// System.out.println(a[i]);

//

// }

}

桌面类

package 小猫钓鱼;

import java.util.ArrayList;

public class Table {

ArrayList tablecard=new ArrayList();

// 获得猫打出的牌

public void getcard(int card) {

tablecard.add(Integer.valueOf(card));

}

// 返回所有牌

public int[] outcard() {

tablecard.trimToSize();

int i=tablecard.size();

int[] a=new int[i];

for(;i>0;i--) {

Integer tem=tablecard.get(i-1);

a[i-1]= tem.intValue();

}

return a;

}

//

public void clean() {

tablecard.clear();

}

}

主程序类

package 小猫钓鱼;

public class Game {

public static void main(String[] args) {

// TODO 自动生成的方法存根

Cat cat1 = new Cat("咖啡猫", 5);

Cat cat2 = new Cat("汤姆", 5);

Table table = new Table();

int b = 10;

int time = 0;

cat1.show();

cat2.show();

while (cat1.getCardnumber() != 0 || cat2.getCardnumber() != 0) {

int a = cat1.outcard();

table.getcard(a);

if (a == b) {

cat1.getcard(table.outcard());

table.clean();

cat1.show();

cat2.show();

}

b = cat2.outcard();

table.getcard(b);

if (a == b) {

cat2.getcard(table.outcard());

table.clean();

cat1.show();

cat2.show();

}

time++;

}

if (cat1.getCardnumber() == 0)

System.out.println(cat2.getName() + "获得最终胜利,共进行了" + time + "轮比赛");

else

System.out.println(cat1.getName() + "获得最终胜利,共进行了" + time + "轮比赛");

}

}

待更新

小猫钓鱼java代码,【Java个人笔记】练习-小猫钓鱼相关推荐

  1. java调用子系统代码_深入理解JAVA虚拟机-Idea远程执行本地Java代码 - Java 技术驿站-Java 技术驿站...

    今天在看深入理解JAVA虚拟机的9.3节,作者实现了一个远程执行功能.这个功能可以在远程服务器中临时执行一段程序代码,而去不依赖jdk版本,不改变原有服务端程序的部署,不依赖任何第三方库,不入侵原有的 ...

  2. 设计一个聊天窗口java代码,Java 设计的聊天程序-完整代码

    [实例简介] 这是一个Java 课程设计,模仿MSN.QQ等的界面.压缩包内有源码跟使用方法! [实例截图] [核心代码] Java设计的聊天程序-完整源码 └── Java 设计的聊天程序-完整源码 ...

  3. java存档_存档 Java 代码 - Java 入门教程

    目标 了解如何在 Eclipse 中创建 JAR 文件 能够将第三方代码导入您的 Java 应用程序 创建 JAR 现在您已经了解了如何编写 Java 应用程序,您可能想知道如何打包它们,以便其他开发 ...

  4. 超大数相乘的java代码,java版大数相乘

    在搞ACM的时候遇到大数相乘的问题,在网上找了一下,看到了一个c++版本的 用java搞了一个版本 这里说一下思路 将数字已字符串形式接收,转换成int[]整型数组,然后num1[],num2[]依次 ...

  5. 圣诞快乐java代码,java版的下雪,大家圣诞快乐

    everybody, Merry Christmas ! 里面有播放音乐,太大了上传不了,想看效果的把播放音乐的代码注释掉就好了. 不好意思,图片忘记了,现补上了,不过图片是网上随便找的图扣的,不是很 ...

  6. 最简判断闰年java代码,java判断闰年代码

    java判断闰年代码 java教程网[简单的一道题--用if-else 语句判断某年份是否为闰年]代码如下: package com.wenzhi;O网页链接 Python 代码:(java类似,算法 ...

  7. 智能商贸java代码实现——学习笔记day02

    结构图 Pepository层 自定义一个Repository, 它是JpaRepository的功能基础上继承增强 自定义接口 如自定义接口 BaseRepository 继承JpaReposito ...

  8. hello world的Java代码,Java语言实现hello world代码

    参考https://blog.csdn.net/yilovexing/article/details/53256713 24种编程语言的Hello World程序 Java 文档注释 Java 支持三 ...

  9. md5视频加密 java代码,Java实现MD5加密及解密的代码实例分享

    基础:MessageDigest类的使用 其实要在Java中完成MD5加密,MessageDigest类大部分都帮你实现好了,几行代码足矣: /** * 对字符串md5加密 * * @param st ...

  10. PHP能不能让一串代码现实,一段让你认清现实的Java代码.java

    /** * 答致命三问 * 终回归现实 */ public static void main(String[] args) { boolean a = false, b = false, c = fa ...

最新文章

  1. DSP与CEVA芯片
  2. 2017-2018-2 『网络对抗技术』Exp1:PC平台逆向破解 20165335
  3. 开发75条(写的不错) 选择自 churujianghu 的 Blog
  4. oppo计算机的夜间模式,oppo夜间模式如何打开
  5. HDU 4923 Room and Moor(瞎搞题)
  6. 学习ROS过程中遇到的一些小问题以及解决办法的记录
  7. 从“做什么”到“怎么做”,说说一只蚊子
  8. matlab状态转空间,matlab - 如何在Matlab中使用状态空间模型避免tf()命令 - 堆栈内存溢出...
  9. astar算法c语言实,Astar寻路算法C++实现
  10. 模拟多线程给多用户发送短信
  11. android 过滤蓝光软件下载,安卓蓝光过滤器
  12. 微信公众号和服务器的关系,微信公众号订阅号和服务号主要区别
  13. 消息队列返回错误:Resource temporarily unavailable
  14. 复制pdf文字到word
  15. 年度回顾篇:2018年的亚马逊,众生虽苦,诸恶莫作
  16. 前端唤起QQ和加群功能
  17. android系统 vender添加自定义的预编译的应用程序
  18. AtCoder Beginner Contest 171 D Replacing 桶排序+及时更新数据
  19. 硬盘活动分区(将磁盘分区标为活动或取消活动的方法)(转)
  20. Centos搭建服务

热门文章

  1. SQL工具导出CSV文件中文乱码
  2. Sql like模糊查询 区分大小写
  3. 操作系统设备管理知识点总结
  4. 在Android上应用PhoneGap和Dojo Mobile
  5. Web前端学习第四周
  6. 在Elasticsearch中回测隨機(Stochastic)指標交叉交易策略
  7. 通过微信开发测试号进行微信登录
  8. 7z001怎么解压在安卓手机上面_安卓手机来电闪光灯怎么设置
  9. Windows下安装mysql的操作步骤
  10. JavaWeb自学笔记02