0

ユーザーが配列内のいくつかの値に対して何を入力したかをチェックする簡単なプログラムを作成しています。プログラムを実行するとエラーは発生しませんでしたが、送信ボタンをクリックすると、指定されたアクションが実行されませんでした。誰かがこれを解決する方法を教えてもらえますか?

import javax.swing.*;
import java.awt.event.*;

public class Program1 extends JFrame {

    private JTextField textfield;

    private JButton submitButton;

    int convertedInputScore; 

    String inputScore;

    int[] studentScore = {-1, 40, 50, 60, 70, 80, 100, 101};

    public Program1() {

        this.setSize(600, 250);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setTitle("Student mark checker");

        JPanel panel = new JPanel();

        JLabel label = new JLabel("Type in student mark between 0 and 100, or -1 to end");

        textfield = new JTextField(45);

        submitButton = new JButton("Submit");
        submitButton.addActionListener(clicklistener);

        this.add(panel);
        panel.add(label);
        panel.add(textfield);
        panel.add(submitButton);
        setVisible(true);


    }

    ClickListener clicklistener = new ClickListener();

    private class ClickListener implements ActionListener{

        public void actionPerformed(ActionEvent e) {

            if (e.getSource() == submitButton) {

                String inputScore = textfield.getText();
                int convertedInputScore = Integer.parseInt(inputScore);

                checkInputScore();

            }
        }
    }

    public void checkInputScore() {

        if (convertedInputScore == studentScore[0]) {
            System.exit(0);
        } 

        if (convertedInputScore == studentScore[1]) {
        }
    }

    public static void main(String[] args) {

        new Program1();

    }
}
4

1 に答える 1

3

convertedInputScore新しい値を割り当てたいと思われる場合は、アクションリスナーで再度宣言します。これを変える:

int convertedInputScore = Integer.parseInt(inputScore);

これに:

convertedInputScore = Integer.parseInt(inputScore);
于 2012-08-06T01:31:27.187 に答える