Java中利用随机数的猜拳游戏
Java中利用随机数的猜拳游戏,实现非常简单,重难点在于随机数的产生。
首先GameJude类是用于判断输赢的一个类:
package testGame;
public class GameJudge {
private String marks1 = "拳头";
private String marks2 = "拳头";
private int personCout = 0;
private int computerCout = 0;
private int cout = 0;
public void juge(int person, int computer) {
switch (person) {
case 1:
marks1 = "石头";
break;
case 2:
marks1 = "剪刀";
break;
case 3:
marks1 = "布";
break;
case 4:
System.out.println("用户赢"+this.personCout+"次\n电脑赢"+this.computerCout+"次\n平局"+this.cout+"次");
return;
}
switch (computer) {
case 1:
marks2 = "石头";
break;
case 2:
marks2 = "剪刀";
break;
case 3:
marks2 = "布";
break;
}
if (person == computer) {
System.out.println("用户出" + marks1 + "\n电脑出" + marks2 + "\n结果:平局!");
cout++;
} else if ((person == 1 && computer == 2)|| (person == 2 && computer == 3)|| (person == 3 && computer == 1)) {
System.out.println("用户出" + marks1 + "\n电脑出" + marks2 + "\n结果:用户赢!");
personCout++;
} else {
System.out.println("用户出" + marks1 + "\n电脑出" + marks2 + "\n结果:电脑赢!");
computerCout++;
}
}
// public void shouGameCout(){
// System.out.println("用户赢"+this.personCout+"次\n电脑赢"+this.computerCout+"次\n平局"+this.cout+"次");
// }
}
接下TestGame类是一个启动类,显示输入输出,退出统计游戏结果:
package testGame; import java.util.Scanner;
import java.util.Random;
public class TestGame { /**
* @param 显示输入输出,推出时统计游戏结果
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
Random r = new Random();
GameJudge g = new GameJudge();
int person = 0;
while (person != 4) {
System.out.println("------------------猜拳游戏------------------");
System.out.println("请出拳(1、石头;2、剪刀;3、布;4、退出)");
person = sc.nextInt();
if( person == 1 || person == 2 || person == 3 || person == 4){
int computer = r.nextInt(3)+1;
g.juge(person, computer);
}else{
System.out.println("输入有误,请重新输入");
continue;
}
}
}
}
这个游戏我曾经写过几次,后来做了一些小的改动以满足作业的要求,主要用的就是随机数的产生和if条件语句,哈哈^_^。
加油!!!
Java中利用随机数的猜拳游戏的更多相关文章
- Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom
Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom 文中的 Random即:java.util.Random,ThreadLocalRandom 即: ...
- Java中产生随机数的两个方法
Java中产生随机数的两个方法 一.利用random方法来生成Java随机数. 在Java语言中生成Java随机数相对来说比较简单,因为有一个现成的方法可以使用.在Math类中,Java语言提供了一个 ...
- 为什么说Java中的随机数都是伪随机数?
什么是伪随机数? 1.伪随机数是看似随机实质是固定的周期性序列,也就是有规则的随机. 2.只要这个随机数是由确定算法生成的,那就是伪随机,只能通过不断算法优化,使你的随机数更接近随机. (随机这 ...
- 在JAVA中利用public static final的组合方式对常量进行标识
在JAVA中利用public static final的组合方式对常量进行标识(固定格式). 对于在构造方法中利用final进行赋值的时候,此时在构造之前系统设置的默认值相对于构造方法失效. 常量(这 ...
- java 中利用反射机制获取和设置实体类的属性值
摘要: 在java编程中,我们经常不知道传入自己方法中的实体类中到底有哪些方法,或者,我们需要根据用户传入的不同的属性来给对象设置不同的属性值,那么,java自带的反射机制可以很方便的达到这种目的,同 ...
- JAVA中利用反射机制进行对象和Map相互转换的方法
JAVA的反射机制主要作用是用来访问对象的属性.方法等等.所以,JAVA中对象和Map相互转换可以利用JAVA的反射机制来实现.例子如下: 一.对象转Map的方法 public static Map& ...
- java中的随机数Random
java中一般有两种随机数,一个是Math中random()方法,一个是Random类. 一.Math.random() : 随即生成0<x<1的小数 实例:如何写,生成随机生成 ...
- Java中Random随机数
java中一般有两种随机数,一个是Math中random()方法,一个是Random类. 一.Math.random() 随即生成0<=x<1的小数. 实例:如何写,生成随机生成出0~10 ...
- Java中利用MessageFormat对象实现类似C# string.Format方法格式化
我们在写C#代码的时候常常会使用到string.Format("待格式化字符串{0},{1},....",参数1,参数2,...),来格式化字符串,特别是拼接字符的时候,这种方式使 ...
随机推荐
- 4、scala数组
1.Array 2.ArrayBuffer 3.遍历Array和ArrayBuffer 4.数组常见操作 1. Array Scala中,array代表的含义与java类似,也是长度不可改变的数组. ...
- MVC POST请求后执行javascript代码
[HttpPost] public ActionResult PostTest() { //你的业务代码 //...... //要执行的js string js = "window.loca ...
- (转)基于MVC4+EasyUI的Web开发框架经验总结(11)--使用Bundles处理简化页面代码
http://www.cnblogs.com/wuhuacong/p/4073203.html 在Web开发的时候,我们很多时候,需要引用很多CSS文件.JS文件,随着使用更多的插件或者独立样式文件, ...
- DATEPART()
定义和用法 DATEPART() 函数用于返回日期/时间的单独部分,比如年.月.日.小时.分钟等等. 语法 DATEPART(datepart,date) date 参数是合法的日期表达式.datep ...
- eas之载入编辑界面时设置明细默认值createNewDate()
protected com.kingdee.bos.dao.IObjectValue.createNewDate(){ //new一个对象 PurOrderInfo info=new Pu ...
- eas之获取单据编码规则
//获取单据编码规则 /*** @Title: getNumber* @Description: TODO(获取单据编码规则)* <p>* @date 201 ...
- Hzoi 2018.2.11多边形 区间DP
给定一个由N个顶点构成的多边形,每个顶点被赋予一个整数值,而每条边则被赋予一个符号:+(加法运算)或者*(乘法运算),所有边依次用整数1到N标识. 一个多边形的图形表示 首次移动,允许将某条边删除: ...
- html第六节课
JavaScript 一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系 ...
- Hexo系列(四) NexT主题配置
Hexo 框架允许我们更换合适的主题,以便于构建不同风格的网站,这里介绍目前最常使用的一款主题之一 -- NexT 一.NexT 安装 在正式开始讲解 NexT 安装之前,我们必须明确以下几个概念: ...
- poj 2763(LCA + dfs序 +树状数组)
算是模板题了 可以用dfs序维护点到根的距离 注意些LCA的时候遇到MAXM,要-1 #include<cstdio> #include<algorithm> #include ...