我正在建造一个铁路模拟器,包括乘客和火车站等等。 Passenger类具有属性endLoc,它将是每个乘客(即站对象)的期望终点位置。我在我的网络上的每个站点生成一个随机数量的乘客到ArrayList,并希望它们的endLoc属性也是随机生成的(从所有站点对象的列表中),但我无法工作如何使属性每次都从列表中随机出现。
ArrayList<Passenger> passengers = new ArrayList<Passenger>();
for (int i = 0; i<p; i++){
passengers.add(new Passenger(statA));
即。一旦我得到了我的随机数,并将其映射到我想要的哪个电台,我在代码而不是statA中添加什么来表示适用于我的随机数的电台?
谁能告诉我怎么做,或者至少指出我正确的方向?感谢。
答案 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将是包含所有工作站的列表的随机索引。