недавно начал изучать java. Задание: сделать игру, в которой пользователю нужно угадать цифру от 0 до 100 + в конце сделать счетчик попыток. Все сделал, только не понимаю почему счетчик постоянно в конце показывает 0.
Первый класс
import com.sun.javaws.exceptions.ExitException;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
public class GUI extends Random0100 {
JFrame frame = new JFrame("6 sapkis");
JPanel panel = new JPanel();
JLabel label = new JLabel("Угадайте число от 0 до 100:");
JLabel answer = new JLabel("");
JButton button = new JButton("Отправить");
JTextField pole = new JTextField("",5);
GUI() {
URL iconURL = getClass().getResource("question.png");
ImageIcon icon = new ImageIcon(iconURL);
frame.setIconImage(icon.getImage());
panel.add(label);
panel.add(pole);
panel.add(button);
panel.add(answer);
frame.add(panel);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int need = Integer.parseInt(pole.getText());
counter++;
if (need == guess) {
frame.setVisible(false);
Win open = new Win();
} else {
answer.setText("Пробуйте еще");
}
}
});
answer.setForeground(Color.red);
frame.setResizable(false);
frame.setSize(230,150);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class Random0100 {
int guess = (int)(Math.random()*100);
int counter;
Random0100(){
System.out.println("Подсказка: "+guess);
}
}
И второй класс
public class Win extends GUI {
JFrame frame = new JFrame("Победа!");
JPanel panel = new JPanel();
JLabel text = new JLabel("Вы угадали число!");
JLabel text2 = new JLabel("Кол-во попыток: "+counter);
Win() {
URL iconURL = getClass().getResource("question.png");
ImageIcon icon = new ImageIcon(iconURL);
frame.setIconImage(icon.getImage());
panel.add(text);
panel.add(text2);
frame.add(panel);
frame.setResizable(false);
frame.setSize(250,200);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
При победе вы делаете new Win()
, т.е., новый объект и все поля, включая унаследованное counter
, инициализируются дефолтными значениями, если это не указано иначе.
Самое простое решение - сделать counter
статическим
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
На макете видно эллипс слева и прямоугольник справаТак вот вопрос: как задать два бэкграунда через CSS, чтобы всё хорошо работало?
Есть у меня такой HTML: Сейчас там расположена 1 строка на 13 элементов, таких строк будет 6
Мне нужно понять, как перенести текст с помощью css в нужное месторасположение