系统随机生成10位数字,每猜对一个就重新刷新一个10位数字,记录猜对位数

系统随机生成10位数字,每猜对一个就重新刷新一个10位数字,记录猜对位数,什么时候能全部猜对。

以下是一个Java程序,可以随机生成10位数字并记录猜对位数,每猜对一个就重新生成一个10位数字,直到全部猜对为止。

import java.util.Random;
import java.util.Scanner;

public class GuessNumberGame {
    public static void main(String[] args) {
        int digits = 10; // 生成的数字位数
        int correctDigits = 0; // 猜对的位数
        Random rand = new Random();
        int[] target = new int[digits]; // 目标数字

        // 生成目标数字
        for (int i = 0; i < digits; i++) {
            target[i] = rand.nextInt(10);
        }

        System.out.println("猜数字游戏开始!");
        Scanner scanner = new Scanner(System.in);

        while (correctDigits < digits) {
            System.out.print("请输入" + digits + "位数字:");
            String guessStr = scanner.nextLine();
            int[] guess = new int[digits]; // 猜测数字
            for (int i = 0; i < digits; i++) {
                guess[i] = guessStr.charAt(i) - '0';
            }

            correctDigits = 0;
            for (int i = 0; i < digits; i++) {
                if (guess[i] == target[i]) {
                    correctDigits++;
                }
            }

            if (correctDigits == digits) {
                System.out.println("恭喜你,猜对了!");
            } else {
                System.out.println("猜对了" + correctDigits + "位数字,请重新猜测!");
                // 重新生成目标数字
                for (int i = 0; i < digits; i++) {
                    target[i] = rand.nextInt(10);
                }
            }
        }
        scanner.close();
    }
}

程序生成一个10位数的目标数字,接受用户输入的猜测数字,并将猜测数字的每一位与目标数字的对应位进行比较,统计猜对的位数。如果全部猜对,输出恭喜消息并结束游戏;否则,输出猜对的位数并重新生成一个新的目标数字,等待用户再次猜测。