当前位置: 首页 > 知识库问答 >
问题:

如何从数组中将字符串随机输出到多个标签而不重复

彭宏深
2023-03-14

我想做一个篮球季后赛模拟器。我有一个东区队和西区队的阵容。我想随机将团队名称输出到每侧的前4个标签上,不重复。如何为每个团队生成随机的唯一种子。

private void btnSeedActionPerformed(java.awt.event.ActionEvent evt) {                                        
        
        lblSeriesWins.setText(String.valueOf("0"));
        
        String TeamName = (String)jComboBox1.getSelectedItem();
        
        String Raptors = "Raptors";
        String Bucks = "Bucks";
        String Phila = "76ers";
        String Celtics = "Celtics";
        
        String [ ] eastTeams = {"Raptors","Bucks", "76ers", "Celtics"};
        Random random1 = new Random();
        int PickEast = random1.nextInt(eastTeams.length);
        
        lblFirstTeamEast.setText(String.valueOf(eastTeams[PickEast]));
        lblSecondTeamEast.setText(String.valueOf(eastTeams[PickEast])); 
        lblThirdTeamEast.setText(String.valueOf(eastTeams[PickEast]));
        lblFourthTeamEast.setText(String.valueOf(eastTeams[PickEast]));
        
        String[ ] westTeams = {"Lakers", "Warriors", "Suns", "Grizzlies"};
        Random random2 = new Random();
        int PickWest = random2.nextInt(westTeams.length);
        
        lblFirstTeamWest.setText(String.valueOf(westTeams[PickWest]));
        lblSecondTeamWest.setText(String.valueOf(westTeams[PickWest]));
        lblThirdTeamWest.setText(String.valueOf(westTeams[PickWest]));
        lblFourthTeamWest.setText(String.valueOf(westTeams[PickWest]));

共有1个答案

桑博远
2023-03-14

你可以把名字放在一个列表中,然后打乱列表,给你一个没有重复的随机顺序:

List<String> eastTeams = new ArrayList<>(List.of("Raptors", "Bucks", "76ers", "Celtics"));
Collections.shuffle(eastTeams);

lblFirstTeamEast.setText(eastTeams.get(0));
lblSecondTeamEast.setText(eastTeams.get(1)); 
lblThirdTeamEast.setText(eastTeams.get(2));
lblFourthTeamEast.setText(eastTeams.get(3));
 类似资料:
  • 用户必须在两个不同的数组中输入任意数量的名词和形容词。(每个阵列至少3个)。示例数组A用户输入apple、pair、orange。数组b=绿色、甜蜜、腐烂、蓝色。现在我需要随机选择形容词,并将它们添加到名词中。比如甜苹果,烂苹果等等。。。我不能用同一个词两次,我需要用数学。随机()。你怎么能做到?

  • 我正在编写一个递归过程来返回字符串的排列 我将所需的输出打印到控制台。但是,我希望将输出添加到一个数组中,以便能够对其进行进一步的处理。怎么才能实现? 我得到:[ABCD][ABDC][ACBD][ACDB][ADBC][ADCB] 我想要:[ABCD、ABDC、ACBD、ACDB、ADBC、ADCB,]

  • 我的CompSci课程有一个作业,我们正在做,我们必须打印出一副二维的卡片,6行8列的数组。每个“卡”基本上是随机生成的数字(1-12)和随机选择的套装(钻石、红桃、黑桃、,

  • 问题内容: 我有阵列中的国家/地区列表,我想从列表中选择一个国家/地区(可能是使用随机的?),但是我自己还没有找到答案… 这是我到目前为止所拥有的: 问题答案: 尝试:

  • 我想要这样的结果。依靠这个数组,我想在其中得到一个随机值。

  • 问题内容: 我对Swift和编程逻辑很陌生,所以请耐心等待 如何在Swift中生成0到9之间的随机数而不重复最后生成的数字?因为相同的数字不会连续出现两次。 问题答案: 将先前生成的数字存储在变量中,然后将生成的数字与先前的数字进行比较。如果它们匹配,则生成一个新的随机数。重复生成新数字,直到它们不匹配为止。