大神勿扰!!!
定义一个基本类
测试类没有放进来
功能就是猜拳,前面注释是我的思路。编程思维千千万万,总有一个是你。。
第一个方法是第二个方法的改进,效果完全相同。
大概解析一下。
我将剪刀石头布分别用012替代。我认为,程序开发,定义的就是自己的规则。每一个程序就是一些规则的集合,在这里我使用的是相减,得到的结果不同。就可以计算输赢。
以下是我的代码实现。
class Test18120908 {
//猜拳游戏,剪刀0,石头1,布2
//思路:玩家赢, 0-2=-2, 1-0=1, 2-1=1, ---结果:-2,1
// 玩家输, 0-1=-1, 1-2=-1, 2-0=2,---结果:-1,2
// 平局, 0-0=0, 1-1=0, 2-2=0,---结果:0
public void caiquan1() {
//提示语句
System.out.println("请输入0或1或2");
//获取键盘输入
Scanner sc = new Scanner(System.in);
//统计
int x= 0;
int y= 0;
int z= 0;
//循环
while (true) {
//将获取到的数字赋值给a
int a = sc.nextInt();
//获取随机数,并赋值给b
int b = new Random().nextInt(3);
//判断
if (a >= 0 & a <= 2) {
if (a - b == -2 | a - b == 1) {
x++;
System.out.println("你赢了"+x+"次");
System.out.println("你赢了");
} else if (a - b == -1 | a - b == 2) {
y++;
System.out.println("电脑赢了"+y+"次");
System.out.println("电脑赢了");
} else {
z++;
System.out.println("平局"+y+"次");
System.out.println("平局");
}
} else
System.out.println("输入错误,请重新输入!");//错误提示
}
}
public void caiquan2() {
//提示语句
System.out.println("请输入0或1或2");
//获取键盘输入
Scanner sc = new Scanner(System.in);
//循环
while (true) {
//将输入的值赋值给a
int a = sc.nextInt();
//获取随机数
int b = new Random().nextInt(3);
//判断输入的正确数字就进入内层判断
if (a >= 0 & a <= 2) {
if (a == 0) {//当a=0时,
if (a - b == -2)
System.out.println("你赢了");
else if (a - b == -1)
System.out.println("电脑赢了");
else
System.out.println("平局");
} else if (a == 1) {//当a=1时,
if (a - b == 1)
System.out.println("你赢了");
else if (a - b == -1)
System.out.println("电脑赢了");
else
System.out.println("平局");
} else if (a == 2) {//当a=2时,
if (a - b == 1)
System.out.println("你赢了");
else if (a - b == 2)
System.out.println("电脑赢了");
else
System.out.println("平局");
}
} else {
System.out.println("输入错误,请重新输入!");
}
}
}
}
给大家说一个冷门知识。条件判断语句后面紧跟的是一条有效语句的话{}是可以省略的哦。哈哈哈(ಡωಡ)hiahiahia
|
|