我对Java相当陌生,我正在制作一个小型应用程序,需要两辆汽车并返回谁更快。我为汽车上了另一堂课。首先,我在主要方法中创建了所有对象,并且它工作正常,然后我尝试将代码放在另一个方法中,并从main调用它,只是为了使它更整洁,并且出现错误。可能有些显而易见的,但我太累了,没法思考。使用另一个函数来创建对象
错误:(7,14)的java:无法找到符号 符号:可变法拉利 位置:Test类
错误:(7,23)的java:无法找到符号 符号:可变兰博基尼 位置:类测试
public class Test {
public static void main(String[] args) {
createCars();
race(ferrari, lamborghini);
}
public static void createCars() {
Car ferrari = new Car("Ferrari", "California");
ferrari.setHp(552);
ferrari.setAcceleration(3.3);
Car lamborghini = new Car("Lamborghini", "Huracan");
lamborghini.setHp(602);
lamborghini.setAcceleration(2.5);
Car bmw = new Car("BMW", "M5");
bmw.setHp(560);
bmw.setAcceleration(3.7);
Car cadillac = new Car("Cadillac", "CTS-V");
cadillac.setHp(640);
cadillac.setAcceleration(3.6);
}
public static void race(Car carA, Car carB) {
if (carA.getAcceleration() < carB.getAcceleration()) {
System.out.println("The " + carA.getMake() + " " + carA.getModel() + " is faster than the " + carB.getMake() + " " + carB.getModel());
} else if (carB.getAcceleration() < carA.getAcceleration()) {
System.out.println("The " + carB.getMake() + " " + carB.getModel() + " is faster than the " + carA.getMake() + " " + carA.getModel());
} else {
System.out.println("It's a tie");
}
}
}
一旦你离开'createCars'方法,那个方法中定义的变量就消失了。您需要从方法返回它们或使用类级变量。 – David
您可以在createCars方法中创建对象,但只能通过此方法看到它们。当方法结束时,法拉利和兰博基尼都消失了。 – mszalbach
知道这是件容易的事,哈哈!谢谢你们,可能会一直陷在这样一个愚蠢的事情上。 –