我必须准备一些工作直到明天,但是我被困住了。 (此外,代码中的所有名称都是德语,请不要混淆:)

这是我的名为"Karte"(卡)的对象的构造函数类

private Farbe f;
private Wert w;

public enum Farbe {
    PIK, KREUZ, KARO, HERZ
}

public enum Wert {
    SIEBEN, ACHT, NEUN, ZEHN, BUBE, DAME, KOENIG, ASS
}

Karte(Farbe f, Wert w) {
    this.f = f;
    this.w = w;
}

public Farbe getFarbe() {
    return f;
}

public Wert getWert() {
    return w;
}

public String toString() {
    return f + " " + w;
}


现在还有另一个class应该生成一个object,由多张卡片组成。
正常的语法是

Karte name = new Karte(); // (random stuff here);


但是,如何使该类生成具有随机名称的多个对象?如果我尝试仅在for each循环中使用这种代码,它将覆盖之前的代码。

我该如何给它们取随机名称,甚至是从String[]中选择?

最佳答案

您可以将枚举转换为包含所有值的数组。使用它可以为随机类创建如下所示的内容:

public static void main(String[] args)
{
    Random r = new Random();
    for (int i = 0; i < 10; i++)
    {
        Karte k = new Karte(Farbe.values()[r.nextInt(Farbe.values().length)], Wert.values()[r.nextInt(Wert.values().length)]);
        System.out.println(k);
    }

}

09-29 19:56