我有一辆客货车和一辆班车,它们有关系。我已经创建了一个货车数组,需要在列车构造函数中使用(据我所理解),但我不理解h如何在构造函数中使用数组并填充数组以使代码运行
这是我的密码。谢谢你的解释!
public class Wagon {
private int m;
public int getM() {
return m;
}
public Wagon(int m) {
this.m = m;
}
private Wagon[] wag = new Wagon[3];public class Train {
private Wagon[] wag;
public Train(Wagon[] wag){
this.wag=wag;
}
public int findCargo() {
int x = 0;
for (Wagon w : wag) {
x += w.getM();
}
return x;
}
public int findAverage() {
return this.findCargo() / wag.length;
}
}
public static void main(String[] args) {
Train train = new Train( new Wagon[]{8,9,7});
System.out.println(train.findCargo());发布于 2020-04-19 19:02:31
你不懂数组的语法。
参考文献::https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html
// declares an array of integers
int[] anArray = { 100, 200, 300 };
// declares an array of String's
String[] strArray= { "100", "200", "300" };如果您想创建Wagon数组,那么
Wagon[] wagons = new Wagon[]{new Wagon(8), new Wagon(9), new Wagon(7)};将代码替换为
Wagon[] wagons = new Wagon[]{new Wagon(8), new Wagon(9), new Wagon(7)};
Train train = new Train(wegons);
System.out.println(train.findCargo());发布于 2020-04-19 18:50:24
可以使用变量参数语法。
public Train(Wagon... wag){
this.wag=wag;
}然后你就可以这样称呼它
Train train = new Train(new Wagon(1), new Wagon(2), new Wagon(3));发布于 2020-04-19 18:48:53
这个new Wagon[]{8,9,7}不起作用,您尝试创建一个货车数组并将其填充到ints中。你需要用货车对象填充它
有效的是new Wagon[]{new Wagon(8), new Wagon(9), new Wagon(7)}
Wagon[] wagons = new Wagon[]{new Wagon(8), new Wagon(9), new Wagon(7)};
Train train = new Train(wagons);https://stackoverflow.com/questions/61309737
复制相似问题