После долгого времени я вернулся в Java, и я стараюсь писать (с моим знанием начинающих) короткую игру о случайных чиселJava, если материал в JOptionPane
Игра должна выглядеть так:
- Появляется текстовое поле, которое запрашивает трудности (Готово)
- Случайное число появляется в соответствии с трудностью (застрял)
- В текстовом поле «Вы выиграли, снова рулон?». или «Вы проиграли, раскатать снова» в обоих случаях необходима петля, которая начинается в точке 2. (никакой ключ ...)
В настоящее время я застрял на 2.
я могу генерировать случайные число, но после того, как я выбираю трудность, ничего не происходит.
Вот код:
package randomnumbergame;
import java.awt.Component;
import javax.swing.JOptionPane;
public class RandomNumberGame {
static double n;
static double e;
static double h;
static Component frame;
static String answer;
public static void main(String[] args) {
String[] options = new String[] {"Easy", "Normal", "Hard"};
JOptionPane.showOptionDialog(frame, "What Difficulty do you want ?", "Difficulty",
JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE,
null, options, options[0]);
{
if ("Hard".equals(answer)) {
n = Math.random();
long n3 = Math.round(Math.random() * 99999);
System.out.println(n3);
JOptionPane.showMessageDialog(frame, n3, "Your randomly generated Number is:", JOptionPane.PLAIN_MESSAGE);
} else if ("Normal".equals(answer)) {
h = Math.random();
long n4 = Math.round(Math.random() * 9999);
System.out.println(n4);
JOptionPane.showMessageDialog(frame, n4, "Your randomly generated Number is:", JOptionPane.PLAIN_MESSAGE);
} else if ("Easy".equals(answer)) {
e = Math.random();
long e4 = Math.round(Math.random() * 999);
System.out.println(e4);
JOptionPane.showMessageDialog(frame, e4, "Your randomly generated Number is:", JOptionPane.PLAIN_MESSAGE);
}
}
}
}
, что случилось с ним? Я просмотрел несколько Вопросов здесь, но я не мог понять это.
'Объект ответ = NULL; } 'закрывает метод' main', остальная часть кода не будет выполняться при запуске. – Jon
в порядке, когда я удаляю его, я получаю сообщение «нестатическая переменная n не может ссылаться из статического контекста» то же самое с ответом, фреймом, h и e – Projekt154
'main' является статическим методом, поэтому все ваши переменные нужны быть статическим, т. е. 'static double n;' – Jon