小编Ron*_*Ron的帖子

连续生成随机枚举值而不会获得相同的值两次

我有一个enum团队,我想随机.所以我有:

public enum Teams { TEAM1, TEAM2, TEAM3, TEAM4, TEAM5, TEAM6; }
Run Code Online (Sandbox Code Playgroud)

然后我有一个随机方法来随机生成值:

public static Teams getRandomTeam() {
    return Teams.values()[(int) (Math.random() * Teams.values().length)];
}
Run Code Online (Sandbox Code Playgroud)

这确实会返回一个随机生成的团队,但是我需要,一旦团队生成,比如说TEAM2,它就不能再生成了.

我正在使用:

System.out.println("The team is " + getRandomTeam());
System.out.println("The team is " + getRandomTeam());
System.out.println("The team is " + getRandomTeam());
System.out.println("The team is " + getRandomTeam());
System.out.println("The team is " + getRandomTeam());
System.out.println("The team is " + getRandomTeam());
Run Code Online (Sandbox Code Playgroud)

(我知道这是错误的,因为它一遍又一遍地调用这个方法.

在我运行程序的那一刻,输出可能是:

团队是:TEAM2

团队是:TEAM2

团队是:TEAM4

团队是:TEAM2

团队是:TEAM3

团队是:TEAM2

但我需要我的程序只输出一次枚举值.谢谢

java random enums

3
推荐指数
2
解决办法
4713
查看次数

使用变量在java中设置对象数组

当我设置一个对象数组,如:

Player[] player = new Player[amountOfPlayers];
Run Code Online (Sandbox Code Playgroud)

我用:

amountOfPlayers = br.read();
Run Code Online (Sandbox Code Playgroud)

获得变量amountOfPlayers.每当我运行我的程序时,我会在被要求设置时输入3,amountOfPlayers但我的输出显示有51个玩家.

虽然当我将新Player数组设置为:new Player[3]; 有用.

谁知道为什么会这样?

java arrays object

1
推荐指数
1
解决办法
85
查看次数

标签 统计

java ×2

arrays ×1

enums ×1

object ×1

random ×1