思路:
定义三个类,分别实现接收人输出的指令,电脑随机出手势,进行比较判断输出结果
第一个类的代码部分:
public class Person {
public static int punch() {
System.out.println("请出 石头 剪刀 布");
Scanner scanner = new Scanner(System.in); //扫描用户输入的字符串,并打印出来
String string = scanner.nextLine();
//把输入的字符串与数字进行匹配
int num = 0; //对输入的字符进行判断,给num不同的赋值
switch (string) {
case "石头":
num =1;
break;
case "剪刀":
num = 2;
break;
case "布":
num = 3;
break;
default:
break;
}
scanner.close();
return num;
}
}分析:让用户输入文字指令,然后获取并且将这些字符使用switch语句进行判断,得到对应的整数,方便之后比较
第二个类的代码部分:
public class Computer {
public static int punch() {
int num = (int)(Math.random()*3+1); //随机输出1~3之间的整数
switch (num) { //对num值进行判断,屏幕输出 石头、剪刀、布
case 1:
System.out.println("电脑---石头");
break;
case 2:
System.out.println("电脑---剪刀");
break;
case 3:
System.out.println("电脑---布");
break;
}
return num;
}
}分析:利用随机数知识,随机输出1~3之间的整数,利用switch语句将字符与数字对应匹配,并输出字符
第三个测试类的代码部分:
public class Judge {
public static void main(String[] args) {
w:while(true) {
int num1 = Person.punch();
int num2 = Computer.punch();
int num = num1 - num2;
if(num == -1 || num == 2) {
System.out.println("人赢了");
break w;
}else if(num == -2 || num ==1) {
System.out.println("电脑赢了");
break w;
}else if(num == 0) {
continue w;
}
}
}
}分析:在三个类中明确了1、2、3三个整数分别对应的值,并且将这些整数进行接收,分别是num1和num2,而后得到num1和num2相减结果分布
利用if语句,不同的情况输出不同的结果。
本文介绍了一个简单的石头剪刀布游戏程序实现方法,通过三个Java类分别处理玩家输入、电脑随机选择及胜负判断。玩家可以输入文字指令,程序会将其转换为相应的数值并与电脑随机产生的数值进行比较,最终输出游戏结果。
161

被折叠的 条评论
为什么被折叠?



