我得到了什麼時候在main方法調用的方法如何返回值的問題,這是我的部分代碼:如何在方法的返回值在Java中
import java.util.ArrayList;
public class Race {
private ArrayList<Car>cars;
public Race(){
cars=new ArrayList<Car>();
}
public Car find(double position){
for(Car d:cars){
if(d.getPosition()==position){
return d;
}
}
return null;
}
.................
當我在主叫find方法類:
public class Test {
public static void main(String[] args) {
Race race=new Race();
Car mazda=new Car("Mazda",1.0,1.0,2.0,2.0);
Car honda=new Car("Honda",1.0,1.0,1.0,2.0);
race.addCars(mazda);
race.addCars(honda);
System.out.println(race.find(1.0).getName());
第三值是位置,這意味着馬自達和本田具有相同的位置,它應該同時打印,但是當我運行它,它只能打印馬自達,我很困惑,請指教,乾杯!
在附註中,你不應該'd。getPosition()=='位置,因爲浮點數的精度有限,不能像這樣進行比較。要麼使用整數,要麼執行'Math.abs(d.getPosition() - position)<0.000001'之類的操作。 –
返回一個集合或將其作爲參數傳遞給方法 – 2013-10-08 18:39:05