Программа на Java сама собой завершается

191
11 марта 2018, 23:02

Написал игру "Угадай число" по упражнению из учебника по java. В консоли играть не тру, поэтому я решил сразу приделать к ней графический интерфейс. Вроде бы все вышло, но вот проблема, игра сама по себе закрывается после того, как вводишь в поле любое значение. Не могу понять, в чем дело. Intellij IDEA, jdk 1.9.

import java.util.Scanner;
import java.util.Random;
import javax.swing.JOptionPane;
public class NumGame {
    public static void main(String[] args) {
    Scanner keyboard =new Scanner(System.in);
    int popitki = 0;
    int randomNum = new Random().nextInt(10)+1;
    JOptionPane.showMessageDialog(null, "-------------------------------------\n" +
                                        "Добро пожаловать в игру!\n" +
                                        "-------------------------------------");
    JOptionPane.showInputDialog(null, "Введите любое число от 1 до 9:");
    int inputNum = keyboard.nextInt();
    popitki++;
    while (inputNum!=randomNum) { //программа закрывается вместо того чтобы начинать цикл
        JOptionPane.showInputDialog(null, "---------------------------\n"+
                                          "Попытайтесь еще раз\n"+
                                          "---------------------------");
        JOptionPane.showInputDialog(null,"Введите любое число от 1 до 9:");
        inputNum = keyboard.nextInt();
        popitki++;
    }
    JOptionPane.showMessageDialog(null, "----------------ПОЗДРАВЛЯЕМ-------------------\n"+
                                        "Вы угадали после"+popitki+"попыток\n"+
                                        "----------------------------------------------");
    }
}
Answer 1

Спасибо @Dmig, натолкнул меня на мысль. Вроде теперь все работает.

import java.util.Random;
import javax.swing.JOptionPane;
    public class NumGame {
    public static void main(String[] args) {
        int popitki = 0;
        int randomNum = new Random().nextInt(10)+1;
        JOptionPane.showMessageDialog(null, "-------------------------------------\n" +
                                            "Добро пожаловать в игру!\n" +
                                            "-------------------------------------");
        String inputNum = JOptionPane.showInputDialog(null, "Введите любое число от 1 до 9:");
        int parseNum = Integer.parseInt (inputNum);
        popitki++;
        while (parseNum!=randomNum) {
            JOptionPane.showMessageDialog(null, "----------------------------------\n"+
                                                "Попытайтесь еще раз\n"+
                                                "----------------------------------");
            inputNum =JOptionPane.showInputDialog(null,"Введите любое число от 1 до 9:");
            parseNum = Integer.parseInt (inputNum);
            popitki++;
        }
        JOptionPane.showMessageDialog(null, "---------ПОЗДРАВЛЯЕМ----------\n"+
                                            "Вы угадали после " +popitki+ " попыток\n"+
                                            "-------------------------------------------");
        }
}
READ ALSO
Аналог TextArea JavaFX с разными цветами текста

Аналог TextArea JavaFX с разными цветами текста

Мне нужен аналог TextArea, но только со сменой цвета отдельных буквТакже нужно, чтобы в нем можно было менять текст

206
помогите с задачами по java коллекции [требует правки]

помогите с задачами по java коллекции [требует правки]

/** * создайте очередь Кью * заполните элементами, добавьте элемент, удалите элемент */ public void task10() { Queue queue = new LinkedList<>(); queueoffer(1);

204
maven dependencies в командной строке

maven dependencies в командной строке

Ситуация такова: предварительно выложив рабочий мавен проект(из intellijIdea) в гитхаб, я склонировал его в директорию локальноВ pom

262
Ошибка подключения к MSSQL

Ошибка подключения к MSSQL

При подключении с помощью драйвера jdbc к mssql серверу, выдает вот такую ошибку

174