Java While循环创建随机数

时间:2020-03-01 21:44:17

标签: java loops while-loop

正在这里寻找答案,但无法真正找到我想要的东西。 因此,我刚开始学习Java,并想进行一个小型的乐透模拟,其中您有1-99个随机生成的数字和6个随机生成的数字。我正在尝试创建一个while循环,该循环打印所有12个数字,比较它们是否相等,并打印使所有数字正确所需的尝试次数。如果它们匹配,则循环应结束。 现在我有点卡住了,因为数字只生成一次。因此,它会生成2x6的数字,并且会一直使用它们,而我找不到解决方案。有什么想法吗?

public class Vergleich {

public static void compare() {

    if (lottoNumb1 == givenNumb1 && lottoNumb2 == givenNumb2 && lottoNumb3 == givenNumb3 && lottoNumb4 == givenNumb4 && lottoNumb5 == givenNumb5 && lottoNumb6 == givenNumb6) {
        System.out.println("All numbers match, you won!" + "\n");
    } else {
        System.out.println("Numbers don't match, try again!" + "\n");
    }
}

然后我有一个比较类

"displayName": "wired xd",

"description": "",

"version": "0.0.1",

"engines": {

    "vscode": "^1.42.0"

},

"categories": [

    "Other"

],

"activationEvents": [

    "onCommand:extension.wired-xd"
],

"main": "./out/extension.js",
"contributes": {

    "commands": [

        {

            "command": "extension.wired-xd",

            "title": "wired xd"
        }

    ]

},

"scripts": {

    "vscode:prepublish": "npm run compile",

    "compile": "tsc -p ./",


    "lint": "eslint src --ext ts",

    "watch": "tsc -watch -p ./",

    "pretest": "npm run compile && npm run lint",

    "test": "node ./out/test/runTest.js"

},

"devDependencies": {



    "@types/glob": "^7.1.1",

    "@types/mocha": "^7.0.1",

    "@types/node": "^12.11.7",

    "@types/vscode": "^1.42.0",

    "eslint": "^6.8.0",

    "@typescript-eslint/parser": "^2.18.0",

    "@typescript-eslint/eslint-plugin": "^2.18.0",

    "glob": "^7.1.6",

    "mocha": "^7.0.1",

    "typescript": "^3.7.5",

    "vscode-test": "^1.3.0"

},

"dependencies": {

    "firebase": "^7.9.3",

    "firebase-admin": "^8.9.2",

    "grpc": "^1.24.2"

}

1 个答案:

答案 0 :(得分:0)

例如,可以使用数组(而不是给定数字和乐透号码中的每个变量使用单个变量)和Random(而不是Math.random)来简化程序。

import java.util.Arrays;
import java.util.Random;

public class Main {
    static int n = 6;
    static int[] givenNumbers = new int[n];
    static int[] lottoNumbers = new int[n];
    static Random random = new Random();

    public static void generateNumbers() {
        for (int i = 0; i < n; i++) {
            givenNumbers[i] = random.nextInt(100);
            lottoNumbers[i] = random.nextInt(100);
        }
    }

    public static void printNumbers() {
        System.out.println("Your given numbers are:" + Arrays.toString(givenNumbers));
        System.out.println("Your lotto numbers are:" + Arrays.toString(lottoNumbers));
    }

    public static void main(String[] args) {
        generateNumbers();
        printNumbers();
    }
}

输出:

Your given numbers are:[58, 9, 68, 33, 53, 6]
Your lotto numbers are:[24, 74, 74, 48, 51, 54]