Это почти повторный пост из более раннего вопроса, который у меня был, но я изо всех сил пытался указать, где проблема, но я все еще не могу справиться с этой ошибкой.порождающее значение между случайными числами
У меня есть Google вокруг «генерации значения между случайными числами» и нашел этот пост How do I generate a random value between two numbers
И он чувствует, как им на правильном пути, но я до сих пор ошибка
Исключение в потоке " основной»java.lang.IllegalArgumentException: п должно быть положительным в java.util.Random.nextInt (Unknown Source) в test1.testvoid $ TestVoidMethod.main (testvoid.java:29)
, как сказано, ошибка указывает на мою строку 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++;
}
Так что я думаю 'lastGuess> = 11' или' lastGuess <= 0'. – Keppil
Ошибка для меня очень понятна: lastGuess становится отрицательным. –
Весь ваш код поврежден. Вы сравниваете массив с целым числом для начала –