首页 > 解决方案 > 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 和许多其他的。

标签: javaclassobject

解决方案


将对象添加到列表中,并通过 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));
    }
}

推荐阅读