0

我正在构建一个铁路模拟器,包括乘客和车站(以及其他)类。乘客类有一个属性 endLoc,它将是每个乘客(即车站对象)的期望结束位置。我在我的网络上的每个车站将随机数量的乘客生成到一个 ArrayList 中,并且希望他们的 endLoc 属性也随机生成(在所有车站对象的列表中),但我无法工作每次如何使属性成为列表中的随机属性。

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

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

谁能告诉我如何做到这一点,或者至少指出我正确的方向?谢谢。

4

3 回答 3

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)));
        }
    }
于 2012-10-12T13:16:27.720 回答
0

生成一个随机 int x 然后执行 x = x % allStations.size(); x 将是您在所有电台列表中的随机索引。

于 2012-10-12T12:57:02.167 回答
0

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

于 2012-10-12T12:55:33.730 回答