【问题标题】:Choose what an array stores based on button press根据按钮按下选择数组存储的内容
【发布时间】:2011-11-01 13:32:03
【问题描述】:

我正在尝试找到一种方法来根据用户在 GUI 上按下的按钮来选择数组存储的内容。

由于变量名相同,显然这不会编译。

计算在循环之外执行,但使用“值”。我只是希望用户能够根据他们按下的按钮来确定数组中设置的值。明显的问题是不能两次使用名称“values”,这是我遇到问题的地方,因为我有一个需要变量“values”的 for 循环,我不想重新添加当最有可能是我目前看不到的简单解决方法时,为每个数据集编写多次代码。

【问题讨论】:

    标签: java arrays swing data-structures


    【解决方案1】:

    只需将声明拉出来:

    double[] Xvalues = null;
    if (e.getSource() == X1btn) {
       Xvalues = new double[]{2001,350,799,1004};
    }
    else if (e.getSource() == X2btn) {
       Xvalues = new double[]{5,62,28,500};
    }
    

    【讨论】:

    • 完美答案。取消声明就像一种魅力。谢谢!
    【解决方案2】:

    更好的方法是继承JButton 并将一组值与每个实例相关联。要检索按钮的值,请包含访问器。

    示例

    public final class JArrayButton extends JButton{
        private final double[] values;
    
        public JArrayButton(double[] values){
            this.values = values;
        }
    
        // ... other stuff (e.g. constructors)
    
        public final double[] getValues(){
            return values;
        }
    }
    

    【讨论】:

      【解决方案3】:

      如果您在循环之外创建数组会怎样。 双 Xvalues[] = 新 Xvalues[5]; //或者你想要的任何尺寸

      然后使用 if/else 语句

      if (e.getSource() == X1btn) {
      Xvalues ={2001,350,799,1004};
      } else if (e.getSource() == X2btn) {
      Xvalues={5,62,28,500};
      }
      

      【讨论】:

        猜你喜欢
        • 2020-07-12
        • 2018-08-10
        • 2015-08-17
        • 1970-01-01
        • 2020-10-29
        • 1970-01-01
        • 2013-12-06
        • 2017-06-30
        • 1970-01-01
        相关资源
        最近更新 更多