用java编写程序,实现一个和电脑石头剪刀布的程序,代码要尽量简单
时间: 2024-12-16 21:22:59 浏览: 7
在Java中,我们可以创建一个简单的命令行游戏来模拟“石头、剪刀、布”游戏。以下是代码的一个基本实现:
```java
import java.util.Scanner;
import java.util.Random;
public class RockPaperScissors {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Random random = new Random();
System.out.println("欢迎来到石头、剪刀、布游戏!");
System.out.println("请输入你的选择(1.石头 2.剪刀 3.布):");
int userChoice = scanner.nextInt();
String[] choices = {"石头", "剪刀", "布"};
String computerChoice = choices[random.nextInt(3)];
// 检查用户输入是否有效
if (userChoice < 1 || userChoice > 3) {
System.out.println("无效的选择,请重新开始!");
return;
}
// 计算结果并打印
int result = compare(userChoice, computerChoice);
switch (result) {
case 0:
System.out.printf("你出了 %s, 电脑出了 %s, 平局!\n", choices[userChoice - 1], computerChoice);
break;
case 1:
System.out.printf("你出了 %s, 电脑出了 %s, 你赢了!\n", choices[userChoice - 1], computerChoice);
break;
case -1:
System.out.printf("你出了 %s, 电脑出了 %s, 你输了!\n", choices[userChoice - 1], computerChoice);
break;
}
}
// 比较函数,返回值表示胜负
private static int compare(int user, String choice) {
if (choice.equals("石头")) {
if (user == 1) return 0; // 用户出石头,平局
else return -1; // 用户出剪刀或布,输
} else if (choice.equals("剪刀")) {
if (user == 2) return 0; // 用户出剪刀,平局
else return 1; // 用户出石头或布,赢
} else { // 布
if (user == 3) return 0; // 用户出布,平局
else return user - 2; // 用户出剪刀或石头,赢
}
}
}
```
阅读全文