Первая часть:
public class Lab2 {
public static void main(String[]args) throws Exception {
Train train1 = new Train(3);
Train train1Copy = train1.clone();
train1Copy.carriages[0][0] = 5125;
System.out.println("train1")
System.out.println("Copyed");
... ...
}}
Поезд:
public class Train implements Cloneable {
private int petrol, bananas, coal, grains, fertilizers;
// количество вагонов, и груз в них
int[][] carriages;
public Train(int numOfCarriages) {
carriages = new int[numOfCarriages][5];
for (int i=0; i<numOfCarriages; i++) {
petrol = (int)Math.round(Math.random() * 13);
... ...
carriages[i][0] = petrol;
... ...
}
}
@Override
public Train clone() throws CloneNotSupportedException {
return (Train) super.clone();
}
public String getPetrol() {
String petrolText = "";
for (int i=0; i<carriages.length; i++) {
petrolText += i+1 + " carriage petrol= " + carriages[i][0] + "\n";
}
return petrolText;
}
}
Как я думаю, могут быть некоторые проблемы, вызванные конструктором. И что я получил в консоли:
train1
1 carriage petrol= 5125
2 carriage petrol= 1
3 carriage petrol= 8
Copyed
1 carriage petrol= 5125
2 carriage petrol= 1
3 carriage petrol= 8
Я смотрел некоторые руководства, как клонировать объекты, и, как я вижу, мой метод клонирования такой же