Метод, который считает среднее
Всем привет.
Есть класс Wagon и класс Train, которые находятся в отношениях "has a". В классе Train необходимо реализовать методы:
1) нахождения сколько всего поезд может перевезти в тоннах
2) среднее на вагон.
public class Wagon {
int m;
public Wagon (int m) {
this.m = m;
}
}
public class Train {
int count = 0;
Wagon wag;
public Train(Wagon wag) {
this.wag = wag;
count++;
}
public findCargo() {//общий вес
}
public findAverage() //средний на вагон.
public static void main(String[] args) {
}
}
Что я делаю не так и как создать такой метод?
Ответы (1 шт):
Автор решения: Denis Kukharenko
→ Ссылка
В вашем коде:
public Train(Wagon wag) {
this.wag = wag;
count++;
Конструктор делает ссылку на саму же себя и за чего остается со значением null.
Вариант ниже подойдет если количество вагонов будете указывать вы и именно со статичным массивом необходимо работать по заданию.
public class Train {
Wagon[] wag;
public Train(int num) {
this.wag = new Wagon[num];
}
public static void main(String[] args) {
Train train = new Train(3);
train.wag[0] = new Wagon(4);
train.wag[1] = new Wagon(2);
train.wag[2] = new Wagon(6);
System.out.println(train.findCargo());
System.out.println(train.findAverage());
}
public int findCargo() {
int x = 0;
for (Wagon w : wag) {
x+=w.m;
}
return x;
}
public int findAverage() {
return this.findCargo()/wag.length;
}
}