#java #methods #compiler-errors #method-call
#java #методы #ошибки компилятора #метод-вызов
Вопрос:
Я пытаюсь заставить основной метод вызвать метод NewGame, но он выдает ошибку.
ошибка: не удается найти символ
NewGame (ответ);
символ: переменная
местоположение ответа: класс GuessingGame
import java.util.Random;
public class GuessingGame {
public static newGame(int answer){
Random rand = new Random(int answer);
answer = rand.nextInt(51);
}
public static void main (String [] args ){
newGame(answer);
}
}
Комментарии:
1. Вам нужен возвращаемый тип, прежде чем
newGame(int answer)
2. Вы также не определили
answer
переменнуюmain()
.3. Возврат в класс вместо метода?? Хотя это не имеет смысла.
4.
public static newGame
— Послеstatic
и до чего-то не хватаетnewGame
.5. Неверно
new Random(int answer)
.int
Ключевое слово не должно быть там. Вы не объявляете новуюanswer
переменную. Вы (по-видимому) используетеanswer
переменную, которая уже существует. За исключением …new Random(someNumber)
на самом деле это означает «создать генератор случайных чисел сsomeNumber
начальным значением. Вы, вероятно, не это имеете в виду. Вероятноnew Random()
, это правильно.
Ответ №1:
В вашем опубликованном коде отсутствует несколько вещей, и он мало что делает. Я предполагаю, что вы хотите вернуть новое случайное значение из newGame
(и, следовательно, оно должно return
быть int
). Кроме того, лучше передать Random
вашему методу (потому что создание нового Random
предполагает его заполнение, и если вы делаете это быстро в цикле, вы можете выбрать то же самое начальное значение). Итак, это может выглядеть так
public static int newGame(Random rand) {
return rand.nextInt(51);
}
Затем вам нужно сохранить answer
вход main
. И создайте Random
. Нравится,
public static void main(String[] args) {
Random rand = new Random();
int answer = newGame(rand);
}
Комментарии:
1. Это только начало проекта, и я сжимал стресс-шар, потому что не мог понять это. Большое вам спасибо.