【问题标题】:Using a method to add an object to a class使用方法将对象添加到类
【发布时间】:2013-12-08 22:48:13
【问题描述】:

这感觉像是一个非常明显的问题,但我不知道该怎么做。我有一个名为 Hive 的类,我想使用 addHive 方法将一个 hive 对象添加到我的 Garden 类中。我知道这将是一件非常简单的事情,但我无法弄清楚 =/

我的花园课:

import java.util.ArrayList;
import java.util.Random;

public class Garden {

    ArrayList<Flower> flowerbed = new ArrayList<Flower>();
    Hive hive = null;

    public void anotherDay(){
        int size = flowerbed.size();

        for(int i = 0; i < size; i++) {
            Flower flower = flowerbed.get(i);
            flower.grow();
        }
    }

    public void addHive(Hive hive){

    }


    public void addFlower(Flower flower){
        flowerbed.add(flower);
    }


    public Flower getFlower(int fi){
        if(fi < flowerbed.size()){
            return flowerbed.get(fi);
        }else{
            return null;
        }
    }

    public Integer getRandomInteger(Integer max)
    {
        Random rand = new Random();
        int number;
        number = rand.nextInt(max) + 1;
        return new Integer(number);
    }   

    public Flower findFlower(){
        return getFlower(getRandomInteger(flowerbed.size()));
    }


    public int size(){
        return flowerbed.size();
    }   
}   

我还使用了一种我觉得相当不整洁的迂回方法来从我的花数组列表中随机获取一朵花 - 任何人都可以提出更好的方法,或者这是否尽可能好?

【问题讨论】:

  • 您有一个Hive 字段。你打算用它做什么?
  • 你可能想要一个类似于你的花的 List...
  • 是的,我想我会这样做 - 关于从数组列表中获取随机花的更好方法的任何建议,而不是我所做的?对我来说它看起来很乱

标签: java object random arraylist


【解决方案1】:

如果您只需要一个蜂巢,请使用:

public void setHive(Hive hive){
    this.hive = hive;
}

如果您需要多个蜂巢,请执行与花完全相同的操作。包括创建列表。

ArrayList<Hive> hives = new ArrayList<Hive>();


public void addHive(Hive hive){
    hives.add(hive);
}

【讨论】:

  • 只叫它setHive。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-01
  • 2015-03-10
  • 1970-01-01
  • 2015-07-19
  • 2015-12-16
  • 1970-01-01
  • 2017-02-24
相关资源
最近更新 更多