java编程剪刀石头布_Java实现的剪刀石头布游戏示例
本文实例讲述了Java实现的剪刀石头布游戏。分享给大家供大家参考,具体如下:
ChoiceAnswer.java
public class ChoiceAnswer {
String texts[] = { "石头","剪刀","布" };
int value; // 【1】石头\t【2】剪刀\t【3】布
String getText() {
return texts[value - 1];
}
ChoiceAnswer(int value) {
this.value = value;
}
/**
* 返回0表示平手,返回1表示赢,返回-1表示输
*/
int compTo(ChoiceAnswer c) {
if (value == c.value) {
return 0;
}
if (value + 1 == c.value || (value == 3 && c.value == 1)) {
return 1;
}
return -1;
}
}
Game.java
import java.util.Scanner;
public class Game {
void p(String s) {
System.out.println(s);
}
void showWelcome() {
p("欢迎使用・・・・・・");
p("请选择:【1】石头\t【2】剪刀\t【3】布");
}
@SuppressWarnings("resource")
ChoiceAnswer getUserChoice() {
Scanner sc = new Scanner(System.in);
int userChoice = Integer.parseInt(sc.nextLine());
while (userChoice < 1 || userChoice > 3) {
p("你输入的不正确!请重新输入!");
userChoice = Integer.parseInt(sc.nextLine());
}
return new ChoiceAnswer(userChoice);
}
ChoiceAnswer getComputerChoice() {
int computerChoice = (int) ((Math.random() * 3) + 1);
return new ChoiceAnswer(computerChoice);
}
void showResult(ChoiceAnswer userChoice,ChoiceAnswer computerChoice) {
int result = userChoice.compTo(computerChoice);
if (result == 0) {
System.out.println("平手,您和电脑均选择了:" + userChoice.getText());
} else if (result == 1) {
System.out.println("恭喜,您赢了!您选择了:" + userChoice.getText()
+ "; 电脑选择了:" + computerChoice.getText());
} else {
System.out.println("对不起,您败了!您选择了:" + userChoice.getText()
+ ";电脑选择了:" + computerChoice.getText());
}
}
void start() {
showWelcome();
ChoiceAnswer userChoice = getUserChoice();
ChoiceAnswer computerChoice = getComputerChoice();
showResult(userChoice,computerChoice);
}
public static void main(String a[]) {
System.out.println("编程小技巧测试结果:");
new Game().start();
}
}
运行结果:
希望本文所述对大家java程序设计有所帮助。
总结
以上是编程之家为你收集整理的Java实现的剪刀石头布游戏示例全部内容,希望文章能够帮你解决Java实现的剪刀石头布游戏示例所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250
java编程剪刀石头布_Java实现的剪刀石头布游戏示例相关推荐
- java事件绑定,Java编程GUI中的事件绑定代码示例
程序绑定的概念: 绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来.对java来说,绑定分为静态绑定和动态绑定:或者叫做前期绑定和后期绑定 静态绑定: 在程序执行前方法已经被绑定,此时由编译 ...
- java 编程工具_Java开发工具可以促进编程!
java 编程工具 Java开发人员通常尝试找到快速有效地编写高质量Java代码的方法,以使他们的编程工作变得更轻松. 由于情况发生了变化,因此出现了越来越多的工具. 因此,下面列出了大多数开发人员已 ...
- java编程测试题_Java编程测试可帮助您评估求职者
java编程测试题 Sometimes back one of my good friend asked me to assess few job candidates for Java progra ...
- java编程源代码_java经典编程300例源代码下载
java经典编程300例源代码是针对java编程的编程源代码.以基础知识为框架,介绍了各部分知识所对应的常用开发实例,并进行了透彻解代码解析和知识扩展4部分,每一部分都进行了细致的说明.__java经 ...
- Java编程思考_java编程的总结与思考
java编程的总结与思考 可以用BlockingQueue来实现生产者-消费者并发模型(下一节中有介绍),当然在Java 5以前也可以通过wait和notify来实现线程调度,比较一下两种代码就知道基 ...
- java编程 问题_Java编程常见问题汇总
Java编程常见问题汇总 在我们写Java程序的过程中,其实里面有一些细节大家可能没怎么注意,虽然一般没有什么大问题,但俗话说的好,差之毫厘失之千里.所以我们一定要注意这些小细节.那在我们日常的编程中 ...
- java编程石头剪刀布_java 开发的石头,剪刀,布的游戏 demo
[java]代码库/* * 创建一个类Game,石头,剪刀,布的游戏. */ public class Game { /** * @param args */ String[] s ={"石 ...
- 用Java编程开发“六级单词强化记忆”游戏
(0)在网上下载英语六级词汇表,中英文对应.保存在服务器端,服务器可以让1个客户端连入.客户端初始分数为10分. 以下功能1和功能2,选做1个.功能3必做. (1)功能1:根据中文补齐英文.客户端界面 ...
- java扫雷教程_java实现简单扫雷游戏
本文实例为大家分享了java实现简单扫雷游戏的具体代码,供大家参考,具体内容如下 package com.test.swing; import java.awt.event.ActionEvent; ...
- java 编程原理_Java网络编程 -- 网络编程基础原理
Hello,今天记录下 Java网络编程 --> 网络编程基础原理. 一起学习,一起进步.继续沉淀,慢慢强大.希望这文章对您有帮助.若有写的不好的地方,欢迎评论给建议哈! 初写博客不久,我是杨展 ...
最新文章
- 面试小结之Elasticsearch篇
- Java小游戏 —— 德州扑克
- java光标位置无效_java - java.sql.SQLException:无效的光标位置 - 堆栈内存溢出
- python链表节点的插入p.next curnode_leetcode刷题总结之链表
- 存储过程和transaction
- 解决在DHCP环境下私自指定IP和私自搭建DHCP服务器的方法
- QSqlRelationTableModel使用示例
- stvd使用c语言编程,stm8编程tips(stvd)
- Python实现多条.txt文本数据合并为.csv文件数据
- Android好用的音乐,安卓手机音乐播放器哪个好用?十大最好音乐播放器介绍
- 读 Robert C. Solomon 之《哲学导论》
- el-menu菜单下划线解决办法
- C语言打印日历总结报告,C语言打印日历
- ElementUI导入Excel文件
- STM32F103C8T6多通道adc采集(3通道)
- 新春快乐!马年大吉!518
- 红米笔记本linux系统版本,一招让你的手机拥有三系统甚至四系统: WINDOWS+安卓+Linux...
- 虚拟机安装Linux教程
- 用cesium实现绘制标尺
- HTML注册登录页面模板,左右切换,用户注册、用户登录两种功能。
热门文章
- 洛谷——P2656 采蘑菇
- How Google Tests Software.pdf
- Visual Studio Code compile error - launch.json must be configured...
- 1531: [POI2005]Bank notes二进制优化(c++)
- javascript ajax 脚本跨域调用全解析
- 水晶报表中的主从表结构
- android html文字加中间横线_HTML 语法简要总结
- 译 - Cassandra 数据建模的基本规则
- 普通用户从非80端口启动tomcat,通过端口转发监听80端口
- Hibernate----面试题