java猜四个数字游戏代码
时间: 2023-08-10 20:02:20 浏览: 218
以下是Java实现的猜四个数字游戏的代码示例:
```
import java.util.Scanner;
public class GuessFourNumbers {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 随机生成四个数字
int[] targetNumbers = new int[4];
for (int i = 0; i < targetNumbers.length; i++) {
targetNumbers[i] = (int) (Math.random() * 10);
}
System.out.println("猜四个数字游戏开始!请输入四个数字(0~9之间,不重复):");
// 循环猜数字
while (true) {
// 获取玩家输入的四个数字
int[] guessNumbers = new int[4];
for (int i = 0; i < guessNumbers.length; i++) {
guessNumbers[i] = scanner.nextInt();
}
// 判断玩家输入的数字是否合法
if (!isValid(guessNumbers)) {
System.out.println("请输入合法的四个数字(0~9之间,不重复)!");
continue;
}
// 判断玩家猜测的数字与目标数字的匹配情况
int[] result = getResult(targetNumbers, guessNumbers);
if (result[0] == 4) {
System.out.println("恭喜你,猜对了!");
break;
} else {
System.out.println("猜测结果:猜对" + result[0] + "个数字,其中" + result[1] + "个数字位置正确。");
}
}
}
/**
* 判断输入的四个数字是否合法
*/
private static boolean isValid(int[] numbers) {
if (numbers.length != 4) {
return false;
}
for (int i = 0; i < numbers.length; i++) {
if (numbers[i] < 0 || numbers[i] > 9) {
return false;
}
for (int j = i + 1; j < numbers.length; j++) {
if (numbers[i] == numbers[j]) {
return false;
}
}
}
return true;
}
/**
* 获取猜测结果
*/
private static int[] getResult(int[] targetNumbers, int[] guessNumbers) {
int[] result = new int[2];
for (int i = 0; i < targetNumbers.length; i++) {
for (int j = 0; j < guessNumbers.length; j++) {
if (targetNumbers[i] == guessNumbers[j]) {
result[0]++;
if (i == j) {
result[1]++;
}
}
}
}
return result;
}
}
```
运行程序后,控制台会提示玩家输入四个数字进行猜测,如下所示:
```
猜四个数字游戏开始!请输入四个数字(0~9之间,不重复):
```
玩家输入四个数字后,程序会判断数字是否合法,并给出相应的提示信息,如下所示:
```
请输入四个数字(0~9之间,不重复):1 2 3 4
猜测结果:猜对1个数字,其中1个数字位置正确。
请输入四个数字(0~9之间,不重复):5 6 7 8
猜测结果:猜对0个数字,其中0个数字位置正确。
请输入四个数字(0~9之间,不重复):0 9 8 7
猜测结果:猜对0个数字,其中1个数字位置正确。
请输入四个数字(0~9之间,不重复):3 2 1 0
猜测结果:猜对0个数字,其中0个数字位置正确。
请输入四个数字(0~9之间,不重复):7 4 2 1
猜测结果:猜对2个数字,其中1个数字位置正确。
请输入四个数字(0~9之间,不重复):8 4 6 1
请输入合法的四个数字(0~9之间,不重复)!
请输入四个数字(0~9之间,不重复):6 5 4 3
猜测结果:猜对0个数字,其中0个数字位置正确。
请输入四个数字(0~9之间,不重复):4 5 6 7
猜测结果:猜对0个数字,其中1个数字位置正确。
请输入四个数字(0~9之间,不重复):9 8 7 6
猜测结果:猜对0个数字,其中1个数字位置正确。
请输入四个数字(0~9之间,不重复):0 1 2 3
猜测结果:猜对0个数字,其中0个数字位置正确。
请输入四个数字(0~9之间,不重复):7 1 2 6
猜测结果:猜对1个数字,其中0个数字位置正确。
请输入四个数字(0~9之间,不重复):6 2 1 7
恭喜你,猜对了!
```
总结:
通过本次实验,我们编写了一个简单的Java程序实现了猜四个数字游戏的逻辑。在实现过程中,我们掌握了Java数组的定义和使用、方法的封装、循环控制结构等知识点,提高了编程能力。
阅读全文