【问题标题】:Assigning random value to JButton为 JButton 分配随机值
【发布时间】:2015-05-14 10:59:13
【问题描述】:

我需要为 JButton 数组分配 1 到 8 的不同数字。但是数组的元素必须不同。

Random random = new Random();
        JButton[] number = {jButton1,jButton2,jButton3,jButton4,jButton5,jButton6,jButton7,jButton8,jButton9};
    for(int i = 0; i<data.lentgh; i++)
    {
         number[i].setText(1+random.nextInt(9)+" ");
    }

使用此代码,数组的元素可以不同,有时某些元素可以相同。我搜索了互联网,但找不到。

我该如何解决这个问题?谢谢。

【问题讨论】:

    标签: java arrays swing random jbutton


    【解决方案1】:

    也许您可以使用 LinkedHashSet 来存储随机数,然后您可以遍历该集合并设置按钮的文本。

            Random random = new Random();
            JButton[] number = { jButton1, jButton2, jButton3, jButton4, jButton5,
                    jButton6, jButton7, jButton8, jButton9 };
            Set<Integer> set = new LinkedHashSet<Integer>();
            while (set.size() != 9) {
                set.add(1+random.nextInt(9));
            }
            int i = 0;
            for (Integer s : set) {
                number[i].setText(s + " ");
                panel.add(number[i]);
                i++;
            }
    

    【讨论】:

      【解决方案2】:

      没有random()也可以这样做

      for(int i = 0; i<data.lentgh; i++) // I think data should be replaced by number
          {
               number[i].setText((i+1)+"");
          }
      

      random() 不一定总是生成不同的编号。大多数时候你不会得到。已经生成了。

      【讨论】:

      • 这是我的作业,它是一个简单的游戏。每次单击“开始”按钮时,9 个按钮的值都必须不同。使用您的代码,值将始终相同。 @AJ。
      • values 是什么意思?
      • JButtons @AJ 的值。对不起我的英语
      • @Ms.Sahin.. 请解释一下.. values of JButton.. 是values => JButton 的文本?
      • 我的代码完全一样.. 为每个按钮设置不同值的文本
      猜你喜欢
      • 2016-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多