我想將隨機數0到50添加到每個ArrayList對象中,並且每個 對象都會嘗試到達最後一行10000
米。如何將隨機數添加到ArrayList對象並決定誰跨線
我該怎麼做。
這裏是我的代碼:
private static final int maxDistance = 10000;
private ArrayList<CarModel> theCar;
public CarController() {
this.theCar = new ArrayList<CarModel>();
}
//adding object into the ArrayList
public void addCar(String driverName)
{
CarModel c = new CarModel(driverName);
theCar.add(c);
}
// Race Start method
public void raceStart()
{
while(theCar.size() != maxDistance)
{
for(int i=0;i<theCar.size();i++)
{
theCar.add(randomWithRange(0, 50));
}
}
//random number generated method
public static int randomWithRange(int min, int max)
{
int range = (max - min) + 1;
return (int) (Math.random() * range) + min;
}
這部分在這裏編輯的代碼。在這裏,我想獲得其他賽車細節的信息,他們花了多長時間完成比賽。
public void raceStart() {
while (true) {
for (CarModel car : theCar) {
int carDistance = car.getCarDistance();
carDistance += randomWithRange(0, 50);
car.setCarDistance(carDistance);
for (int time = 0; time <= maxDistance; time++)
{
if (carDistance >= maxDistance) {
System.out.println("First winner is :" + car.getDriverNames() + "\nTOTAL DISTANCE TRAVELED : "
+ carDistance + " METERS " + "\nTOTAL TIME TO FINISH THE RACE : " + time);
System.out.println("\n\nALL OTHERS COMPETITORS RACE DETAILS");
for (int t = 0; t < carDistance; t++) // will find out
// all other
// drivers time
// and distance
{
System.out.println(
"DRIVER NAME :" + car.getDriverNames() + "\nCAR DISTANCE : " + carDistance + "\n");
System.out.println();
}
return; // Race has finished
}
}
}
}
}
再次,問題是什麼 –
如何在ArrayList對象中添加隨機數並決定誰跨線? – Mjachowdhury
無限循環在這裏while(theCar.size()!= maxDistance),你也在raceStart()方法中使用了錯誤的方法。 – Omore