java - 如何在方法中加入 2 个变量的名称?

标签 java libgdx

<分区>

编辑:很抱歉,我需要扩展。我使用的是 LibGDx,所以我的代码实际上更复杂。

Rock1 = new TextureRegion(texture, 5, 10);
Rock2 = new TextureRegion(texture, 6, 11);
Rock3 = new TextureRegion(texture, 7, 12);

int rannum = ran.nextInt (3)+1;

我希望出现的岩石是随机的。

我有一个名为“rannum”的随机整数,它设置在 1 和 3 的界限之间。所以我想弄清楚如何获得一种方法来实现它,以便我可以组合“Rock”和“rannum”这样它就可以随机返回 Rock1、Rock2 或 Rock3。

我指的不是连接两个字符串,而是具体的对象名称。

我该怎么做?是否需要使用数组?

最佳答案

您可以像这样使用数组或列表:

TypeRock[] rocks = new TyprRock[]{Rock1, Rock2, Rock3};

或:

List<TypeRock> rocks = Arrays.asList(Rock1, Rock2, Rock3);

...然后你可以像这样使用 Random :

Random ran = new Random();
TypeRock selectedRock = rocks[ran.nextInt(rocks.length)];

或:

TypeRock selectedRock = rocks[ran.nextInt(rocks.size())];

或者喜欢@davidxxx在评论中提到,你可以像这样使用 Collections.shuffle(list) 而不使用 Random :

List<TypeRock> rocks = Arrays.asList(Rock1, Rock2, Rock3);
Collections.shuffle(rocks);

然后您可以使用第一个值,例如 rocks.get(0)

关于java - 如何在方法中加入 2 个变量的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45783428/

相关文章:

java - 功能: Image in a JFrame

android - 将 Swarm 与 Libgdx 集成

java - 创建 android/desktop gdx 项目的大 Jar(桌面)

Java 和 libgdx : How can I use this variable in two overridden methods?

java - PlayN - iOS 和 Android 上的虚拟键盘

java - Spring 数据 REST findBy 嵌套实体

java - Java中函数作为参数

android - 如何使用 libgdx 获取 "loading screen"?

java - ActiveWeb Web 应用程序无法在 Jetty 下运行

java - 使用 Retrofit 2 下载文件时内存不足