Hallo,
versuche gerade wie schon im Titel erwähnt eine tiefe Kopie mittles eines Kopierkonstruktor zu erzeugen. Probleme habe ich, weil im Kopierkonstruktor die Werte des Arrays ja mit übernommen werden müssen. Hatte versucht mittels einer for-Schleife this.werte = kopie.getWerte(i) dem neuen Objekt zu zuweisen, leider ohne Erfolg. Wäre super wenn mir da jmd. weiterhelfen könnte. Vielen Dank schon mal im voraus.
Fehlermeldung beim ausführen des Programms:
Exception in thread "main" java.lang.NullPointerException
at Roulette.<init>(Roulette.java:21)
versuche gerade wie schon im Titel erwähnt eine tiefe Kopie mittles eines Kopierkonstruktor zu erzeugen. Probleme habe ich, weil im Kopierkonstruktor die Werte des Arrays ja mit übernommen werden müssen. Hatte versucht mittels einer for-Schleife this.werte = kopie.getWerte(i) dem neuen Objekt zu zuweisen, leider ohne Erfolg. Wäre super wenn mir da jmd. weiterhelfen könnte. Vielen Dank schon mal im voraus.
Fehlermeldung beim ausführen des Programms:
Exception in thread "main" java.lang.NullPointerException
at Roulette.<init>(Roulette.java:21)
Java:
import java.util.*;
public class Roulette {
private int[] werte;
Roulette() {
}
Roulette(int spielrunden) {
this.werte = new int[spielrunden];
Random rand = new Random();
for (int i = 0; i < spielrunden; i++) {
werte[i] = rand.nextInt(37);
}
}
Roulette(Roulette kopie) {
for(int i = 0; i < werte.length; i++) {
this.werte[i] = kopie.getWerte(i);
}
}
public void ausgabe() {
for (int i = 0; i < werte.length; i++) {
System.out.print(getWerte(i) +" ");
}
}
public int getWerte(int index) {
return werte[index];
}
}
public class test {
public static void main(String[] args) {
Roulette simulation = new Roulette(10);
simulation.ausgabe();
Roulette simulation2 = new Roulette(simulation);
simulation2.ausgabe();
}
}
Zuletzt bearbeitet: