簡體   English   中英

在隨機數之間產生價值

[英]generating value between random numbers

這幾乎是我之前的一個問題的重新發布,但我一直在努力指出問題可能出在哪里,但我仍然無法管理錯誤。

我已經谷歌周圍的“在隨機數之間產生價值”並發現這篇文章如何在兩個數字之間生成隨機值

感覺就像我在正確的道路上,但我仍然得到錯誤

線程“main”java.lang.IllegalArgumentException中的異常:在test1.testvoid $ testVoidMethod.main(testvoid.java:29)的java.util.Random.nextInt(未知來源)中,n必須為正數

正如告訴錯誤指出我的第29行

int randomInt = randomGenerator.nextInt(lastGuess);

任何建議研究員?

Random randomGenerator = new Random();
String result = "";

int[] myIntArray = new int[10];
int i = 0;
int lastGuess = 1;
result = checkWhichNumberThisIs(0);

while (!result.equals("Equal")) {
    if (result.equals("Higher")) {
        int randomInt = randomGenerator.nextInt((10 - lastGuess + 1)) + lastGuess;

        lastGuess = randomInt;
        result = checkWhichNumberThisIs(randomInt);

        System.out.println(lastGuess + " higher");

    } else if (result.equals("Lower")) {

        int randomInt = randomGenerator.nextInt(lastGuess);

        System.out.println(randomInt + " array");
        lastGuess = randomInt;
            if (myIntArray.equals(randomInt)) {
                result = checkWhichNumberThisIs(randomInt);

                System.out.println(lastGuess + " lower");
            }
        }

    myIntArray[i] = lastGuess;
    i++;

}

這顯然是“家庭作業”或“學習練習”所以這里是找到問題並修復問題的“秘訣”:

  1. 啟動IDE並切換到調試器
  2. 在方法的第一行設置斷點
  3. 開始調試,當程序到達斷點時,單步執行並查看lastGuess如何更改。
  4. 記錄正在發生的事情(及其原因)的心理圖像,並將其與您希望程序執行的心理圖片進行比較。
  5. 想想如何修復它......

現在我們可以為你做這個...但是>>你在這個過程中幾乎沒有任何東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM