所以我有两个文件,这是第一个:将数组传递给方法
public class AnnualFuelUseTester {
public static void main(String[] args) {
AnnualFuelUse[] car = {new AnnualFuelUse(1, 1, 3023, 3070, 0.94, 3),
new AnnualFuelUse(2, 3, 3070, 4224, 24.04, 2.21), new AnnualFuelUse(3, 2, 4224, 4292, 1.48, 2.10)};
car.showOutput();
}
}
,第二个是:
public class AnnualFuelUse {
public void showOutput(AnnualFuelUse[] car) {
out.printf("%10s%10s%20s%20s%10s%20s%10s%10s%10s%n", "Fill Up", "Days", "Start Miles", "End Miles",
"Distance", "Gallons Used", "MPG", "Price", "Cost");
for(AnnualFuelUse car1 : car) {
out.printf("%5d%5d%5d%5d%5d%5.2f%5.2f%5.2f%5.2f%n", car1.fillup, car1.days, car1.startMiles,
car1.endMiles, car1.distance, car1.gallonsUsed, car1.mpg, car1.price, car1.cost);
}
calcMinMax(car);
calcAnnualProjection(car);
}
我有一对夫妇私有变量和另一对夫妇方法但我认为我展示的很清楚。出于某种原因,我得到一个错误,说无法解决方法showOutput()
和tbh我不知道为什么,这些文件在同一目录中,一切都是公开的,车是AnnualFuelUse[]
。
你觉得'car.showOutput();'应该做什么?你为什么这么认为? –
'car.showOutput();'应该是'AnnualFuelUse c = new AnnualFuelUse(); c.showOutput(car);' – CrakC
不幸的是,showOutput()不是静态的。这样你就需要一个AnnualFuelUse的实例,即使你只想打印给定的数组。所以使它成为静态的(当然也要传递'car'给它)Minor nit:通常我将collection和array变量复数(汽车) – eckes