1

以下のコードは、プロジェクトのアクション リスナーです。基本的に、4 つのラジオ ボタンがあり、1 つをクリックすると、画面上の変数が変更されます。コードを実行すると、すべての値が単純に加算されます。これを行う他の方法はありますか?

class Calc implements ActionListener
    {
     public void actionPerformed(ActionEvent event)
     {
       double base = 0.00;
       double options;
       double total;

      if (Button25.isSelected());
      {
      base = base + 999.99;
      String base2 = Double.toString(base);
      lblBaseAns.setText(base2);
      }

      if (Button32.isSelected());
      {
        base = base + 1049.99;
        String base2 = Double.toString(base);
        lblBaseAns.setText(base2);
      }

      if (Button35.isSelected());
      {
        base = base + 1099.99;
        String base2 = Double.toString(base);
        lblBaseAns.setText(base2);
      }

      if (Button42.isSelected());
      {
        base = base + 1155.99;
        String base2 = Double.toString(base);
        lblBaseAns.setText(base2);
      }


     }
    }
4

1 に答える 1

2

問題は、 if (Button32.isSelected());if()などのステートメントごとに、、最後に記号があります。これはあるべきではありません。これが修正されたコードです...;

class Calc implements ActionListener {
    public void actionPerformed(ActionEvent event){
        double base = 0.00;
        double options;
        double total;

        if (Button25.isSelected()){ // changed
            base = base + 999.99;
            String base2 = Double.toString(base);
            lblBaseAns.setText(base2);
        }
        else if (Button32.isSelected()){ // changed
            base = base + 1049.99;
            String base2 = Double.toString(base);
            lblBaseAns.setText(base2);
        }
        else if (Button35.isSelected()){ // changed
            base = base + 1099.99;
            String base2 = Double.toString(base);
            lblBaseAns.setText(base2);
        }
        else if (Button42.isSelected()){ // changed
            base = base + 1155.99;
            String base2 = Double.toString(base);
            lblBaseAns.setText(base2);
        }
    }
}

別の方法として、 からクリックされたボタンを取得し、そのボタンをActionEventif-else ブランチで使用してみませんか...

class Calc implements ActionListener {
    public void actionPerformed(ActionEvent event){
        double base = 0.00;
        double options;
        double total;

        Object clickedObject = event.getSource();
        if (clickedObject instanceof JRadioButton){
            JRadioButton clickedButton = (JRadioButton)clickedObject;

            if (clickedButton == Button25){
                base = base + 999.99;
                String base2 = Double.toString(base);
                lblBaseAns.setText(base2);
            }
            else if (clickedButton == Button32){
                base = base + 1049.99;
                String base2 = Double.toString(base);
                lblBaseAns.setText(base2);
            }
            else if (clickedButton == Button35){
                base = base + 1099.99;
                String base2 = Double.toString(base);
                lblBaseAns.setText(base2);
            }
            else if (clickedButton == Button42){
                base = base + 1155.99;
                String base2 = Double.toString(base);
                lblBaseAns.setText(base2);
            }
        }
    }
}
于 2012-04-12T02:47:23.137 に答える