java - Java - 随机选择对象
问题描述
我有这两个代码:
游戏.java
package game;
import java.util.*;
public class games {
public static Random rd = new Random();
public static void main(String[] args){
//enemies
enemy skeleton = new enemy(1, "jarda" , 2 , 3);
enemy kostlivec = new enemy(2, "pepa" , 2 , 3);
}
}
和敌人.java
package game;
import java.util.jar.Attributes.Name;
public class enemy {
public static int number;
public static String název;
public static int damage;
public static int health;
public enemy(int number, String název, int damage, int health){
this.number = number;
this.název = název;
this.damage = damage;
this.health = health;
}
}
如何随机选择这些对象之一并将其打印给用户?我尝试了arraylist、arrays 和许多其他的。
解决方案
将对象添加到列表中,并通过 Random.nextInt(list.size()) 代码获取索引随机
package com.game.main;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import com.game.model.Enemy;
public class Games {
public static void main(String[] args) {
Enemy skeleton = new Enemy(1, "jarda", 2, 3);
Enemy kostlivec = new Enemy(2, "pepa", 2, 3);
List<Enemy> list = new ArrayList<>();
list.add(skeleton);
list.add(kostlivec);
Random random = new Random();
int indexRandom = random.nextInt(list.size());
System.out.println(list.get(indexRandom));
}
}
推荐阅读
- sql-server - SQL Server 到 Oracle DB - 在 Oracle DB 中使用 SQL Server 创建表脚本
- python - 逆时针方向获取DBSCAN算法中找到的簇的边界点
- vue.js - Vue-cli模式切换
- python - 将函数结果传递给 tkinter GUI Text 小部件 python3
- c - 为什么 realloc 会破坏价值?
- c3.js - 如何在 C3 中隐藏具有空值的条形图?
- php - 带有数据库查询的循环在每个循环中都会变慢
- c# - 如何在 C# 中的 Windows 窗体中添加(或创建)字符串集合编辑器控件?
- python - 来自 Django 数据库的引用名称,而不是 id
- java - 在 JavaFX Gradle 项目中加载图像资源失败