Объясните где совершил ошибку

91
16 мая 2021, 10:20

Занимался по книге Брайсона,дошел до момента где нужно сделать счетчик в игре больше-меньше,но каждый раз при попытки набора нового числа ,программа меняет само число.

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import java.awt.Dimension;
import java.awt.Font;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class GuessingGame extends JFrame {
    private JTextField txtGuess;
    private JLabel lblOutout;
    private int theNumber;
    public void checkGuess() {
        String guessText = txtGuess.getText();
        String message = "";
        try {
            int guess = Integer.parseInt(guessText);
            if (guess > theNumber)
                message = message + " is too high.Try again!";
            else if (guess < theNumber)
                message = message + " is too low.Try again!";
            else
                message = message + " is correct.You win!.Lets'play again!";
            newGame();
        } catch (Exception e) {
            message = "Enter a whole number between 1 and 100";
        } finally {
            lblOutout.setText(message);
            txtGuess.requestFocus();
            txtGuess.selectAll();
        }
    }
    public void newGame() {
        theNumber = (int) (Math.random() * 100 + 1);
    }
    public GuessingGame() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("Sergey HiLo gamez");
        getContentPane().setLayout(null);
        JLabel lblGuessANuber = new JLabel("Guess a nuber between 1 and 100:");
        lblGuessANuber.setFont(new Font("Tahoma", Font.BOLD, 15));
        lblGuessANuber.setHorizontalAlignment(SwingConstants.CENTER);
        lblGuessANuber.setBounds(28, 71, 282, 31);
        getContentPane().add(lblGuessANuber);
        txtGuess = new JTextField();
        txtGuess.setBounds(315, 72, 86, 31);
        getContentPane().add(txtGuess);
        txtGuess.setColumns(10);
        JButton btnguess = new JButton("\"Guess!\"");
        btnguess.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                checkGuess();
            }
        });
        btnguess.setBounds(168, 113, 89, 23);
        getContentPane().add(btnguess);
        lblOutout = new JLabel("Enter a number above and click Guess");
        lblOutout.setFont(new Font("Tahoma", Font.BOLD, 15));
        lblOutout.setHorizontalAlignment(SwingConstants.CENTER);
        lblOutout.setBounds(28, 198, 363, 31);
        getContentPane().add(lblOutout);
    }
    public static void main(String[] args) {
        GuessingGame theGame = new GuessingGame();
        theGame.newGame();
        theGame.setSize(new Dimension(450, 300));
        theGame.setVisible(true);
    }
}
READ ALSO
Получить порт из ByteBuffer

Получить порт из ByteBuffer

У меня есть перехваченный пакет в виде ByteBuffer, как из него нужно достать порт в java/kotlin?

112
Разные типы данных в активности

Разные типы данных в активности

Есть приложение, в котором отражается лента новостейЕсли кликнуть на неё, то открывается конкретная новость

107
Удалить в строке последний искомый символ

Удалить в строке последний искомый символ

Как из следующей строки убрать последний символ -, используя регулярные выражения?

120