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

随机生成对象

谢豪
2023-03-14

我得准备一些工作到明天,但我卡住了。(代码中的所有名称都是德语,不要混淆:))

这是我的构造函数类,用于名为"Karte"(card)的对象

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;
}

现在还有另一个类,它应该生成一个由多张卡组成的对象。通常的语法是

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

但是如何让类生成具有随机名称的多个对象呢?如果我尝试在每个循环的中使用这种代码,它只会覆盖前一个循环。

如何给它们随机命名,甚至从String[]中选择?


共有3个答案

帅锦
2023-03-14

如果你想要多张卡片,你应该把它们放在一组或一堆或类似的东西上。

只需使用链接列表

当你事先不知道卡片的数量时,你不应该认为你可以给每张卡片一个单独的变量名。如果你知道卡片的数量和名称,那就去做吧

Karte eins = new Karte(...)
Karte zwei = new Karte(...)
Karte drei = new Karte(...)
...
Karte homo = new Karte(KREUZ, ASS)
Karte schauen = new Karte(PIK, ZEHN)
墨安阳
2023-03-14

您可以尝试创建一个简单的有序数组列表

public ArrayList<Karte> getMultipleInstances() {
  ArrayList<Karte> instances = new ArrayList<Karte>();
  for(Farbe f : Farbe.values()) {
    for(Wert w : Wert.values()) {
      instances.add(new Karte(f,w));
    }
  }
  Collections.shuffle(instances);
  return instances();
}
宿鹏程
2023-03-14

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

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);
    }

}
 类似资料:
  • random 生成随机数包 文档:https://www.npmjs.com/package/random 安装:npm install --save random 封装代码: app / extend / context.js // 导入 jwt const jwt = require('jsonwebtoken') // 导入随机数包 const random = require('rando

  • 问题 你需要生成在一定范围内的随机数。 解决方案 使用 JavaScript 的 Math.random() 来获得浮点数,满足 0<=X<1.0 。使用乘法和 Math.floor 得到在一定范围内的数字。 probability = Math.random() 0.0 <= probability < 1.0 # => true # 注意百分位数不会达到 100。从 0 到 100 的范围实

  • 当您导入java.util.random之后,您可以通过两种方式生成随机整数和随机double。 您可以创建Random类的一个实例

  • 在 Java 中要生成一个指定范围之内的随机数字有两种方法:一种是调用 Math 类的 random() 方法,一种是使用 Random 类。 Random 类提供了丰富的随机数生成方法,可以产生 boolean、int、long、float、byte 数组以及 double 类型的随机数,这是它与 random() 方法最大的不同之处。random() 方法只能产生 double 类型的 0~1

  • 我的任务: 生成1到20之间的随机数,小数点后1位。 然而,我的问题就像mt_rand一样简单。我希望大多数生成的数字较低,大约0.5-4.5,偶尔的数字在4.5-10之间,很少说每12-20小时一次在10-20之间。 我一直在使用以下内容,但不知道从哪里开始。我是一个很基本的自学程序员。 也许如果我简单地解释一下为什么我想要这个,它可能会有帮助… 我拥有一个在线游戏,想要添加3个“银行”与每个银