使用随机属性创建对象

时间:2012-10-12 12:53:50

标签: java

我正在建造一个铁路模拟器,包括乘客和火车站等等。 Passenger类具有属性endLoc,它将是每个乘客(即站对象)的期望终点位置。我在我的网络上的每个站点生成一个随机数量的乘客到ArrayList,并希望它们的endLoc属性也是随机生成的(从所有站点对象的列表中),但我无法工作如何使属性每次都从列表中随机出现。

    ArrayList<Passenger> passengers = new ArrayList<Passenger>();
    for (int i = 0; i<p; i++){
        passengers.add(new Passenger(statA));

即。一旦我得到了我的随机数,并将其映射到我想要的哪个电台,我在代码而不是statA中添加什么来表示适用于我的随机数的电台?

谁能告诉我怎么做,或者至少指出我正确的方向?感谢。

3 个答案:

答案 0 :(得分:1)

写下这样的东西:

    List<String> stations = new ArrayList<String>();  
            //add stations..in the list

    int numStations = stations.size();

    int maxPassengersAtStation = 100;//assgin you number

    for(int sCount=0; sCount<numStations; sCount++){
        int passangersAtStation = (int)(Math.random() * maxPassengersAtStation);
        for(int j=0; j<passangersAtStation; j++){
            int passengerDestination = sCount + (int)(
                       Math.random() * ((numStations - sCount) + 1));
            passengers.add(new Passenger(stations.get(passengerDestination)));
        }
    }

答案 1 :(得分:0)

好吧,一些随机的ideea将生成一个从1到your_list.length的数字,然后从列表中取出该对象并将其分配给你的endLoc。

答案 2 :(得分:0)

生成随机int x然后执行x = x%allStations.size(); x将是包含所有工作站的列表的随机索引。