Klassen Tiefe Kopie mittels Kopierkonstruktor

sgu

Mitglied
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)



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:
S

SlaterB

Gast
> Hatte versucht mittels einer for-Schleife this.werte = kopie.getWerte(i) dem neuen Objekt zu zuweisen, leider ohne Erfolg.

wenn du den Code posten würdest könnte man vielleicht den Fehler finden,
so fragst du effektiv nach einer fertigen Lösung,

trivial genug sie gleich zu posten, vielleicht macht es noch wer, anderseits auch nicht so spannend
 

faetzminator

Gesperrter Benutzer
Extra für SlaterB :bae:
Java:
if (kopie.werte != null) {
    final int len = kopie.werte.length;
    this.werte = new int[len];
    System.arraycopy(kopie.werte, 0, this.werte, 0, len);
}
 
S

SlaterB

Gast
dann schon lieber doch ne Schleife mit 'this.werte = kopie.getWerte(i)',
wenn sowas nicht funktioniert ist das für sich wichtig zu klären ;)

in ausgabe() gehts ja anscheinend weitgehend,

vielleicht ist das neue Array nicht ausreichend angelegt usw., es ist noch nichtmal eine Fehlermeldung genannt
 

sgu

Mitglied
Danke faetzminator, klappt alles genau so wie ich es wollte.

@SlaterB
Die Fehlermeldung hatte ich leider vergessen zu posten.
Die fehlerhafte Schleife habe ich den Code hinzugefügt, falls du dir das noch angucken willst. Fehlermeldung ist auch nachgetragen.
 
S

SlaterB

Gast
dann wie vermutet und leicht zu sehen werte null,
es ist wichtig eine NullPointerException zu verstehen und zurückverfolgen zu können,

du musst werte passend anlegen, die Länge zu erfahren ist mit public-Methoden im Moment nicht möglich,
siehe faetzminator
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Tiefe Kopie einer Zeile eines zweidimensionalen Arrays Java Basics - Anfänger-Themen 1
X Kopierkonstruktor / tiefe Kopie Java Basics - Anfänger-Themen 3
V Tiefe Kopie Java Basics - Anfänger-Themen 3
? clonen -tiefe Kopie Java Basics - Anfänger-Themen 6
T Rekursiv Tiefe eines binären Suchbaums ermitteln Java Basics - Anfänger-Themen 22
K Rot-Schwarz-Baum min und max-Tiefe Java Basics - Anfänger-Themen 1
Helgon Baumstruktur tiefe N erzeugen Java Basics - Anfänger-Themen 3
N Tiefe im binären Suchbaum Java Basics - Anfänger-Themen 9
B Mehrdimensionales Array + Tiefe Java Basics - Anfänger-Themen 4
K Tiefe im Binärbaum Java Basics - Anfänger-Themen 2
M Binärer Baum Tiefe Java Basics - Anfänger-Themen 14
I Methoden aufrufe in die Tiefe Java Basics - Anfänger-Themen 5
F Tiefe eines Baumes Java Basics - Anfänger-Themen 6
C Kopie oder Referenz ? Java Basics - Anfänger-Themen 5
P Datentypen LinkedList: Kopie behält Referenz? Java Basics - Anfänger-Themen 3
Furtano OOP Memento Pattern | übergabe einer Kopie des Arrays Java Basics - Anfänger-Themen 0
GianaSisters ArrayList-Kopie verändert Original Java Basics - Anfänger-Themen 5
P Kopie erstellen / addieren von Arrays Java Basics - Anfänger-Themen 5
D Tiefen Kopie Java Basics - Anfänger-Themen 36
N Kopie eines Objektes, die Objekt beeinflusst? Java Basics - Anfänger-Themen 6
P Objekte als Attribut: Referenz oder Kopie? Java Basics - Anfänger-Themen 3
S Array Kopie zwei in eindimensionales feld Java Basics - Anfänger-Themen 4
G Parameterübergabe als Referenz bzw. als Kopie Java Basics - Anfänger-Themen 4
F 1:1 kopie möglichst effektiv und schnell Java Basics - Anfänger-Themen 7
M Kopie eines Objektes Java Basics - Anfänger-Themen 8
G Rückgabe einer Kopie bzw. Referenz Java Basics - Anfänger-Themen 22
C Kopie einer ArrayList: Fehler im Detail? Java Basics - Anfänger-Themen 2
L Referenz vs. Kopie Java Basics - Anfänger-Themen 2
R Kopie erzeugen Java Basics - Anfänger-Themen 2
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
M Anzahl Kommandozeilenparamter mittels Methode Java Basics - Anfänger-Themen 11
B Race Condition mittels Semaphore verhindern Java Basics - Anfänger-Themen 13
B Dom Manipulationen mittels Java Java Basics - Anfänger-Themen 8
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
D Gerade oder ungerade Zahl mittels Methoden Java Basics - Anfänger-Themen 13
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
P9cman Vokale in einem String überprüfen mittels Rekursion Java Basics - Anfänger-Themen 8
Poppigescorn Arrayliste Mittels Scanner erweitern Java Basics - Anfänger-Themen 6
TimoN11 Quadratwurzel mittels Funktionswert der Quadratfunktion Java Basics - Anfänger-Themen 9
Khaled-Abo Ziffern unterscheiden mittels einer For-Schleife Java Basics - Anfänger-Themen 6
L Quadratwurzelrechnung mittels Heron-Verfahren Java Basics - Anfänger-Themen 6
P Klassenübergreifende Ausgabe mittels "getter" nicht möglich Java Basics - Anfänger-Themen 21
M Objekte mittels equals vergleichen Java Basics - Anfänger-Themen 14
I csv auslesen, mittels List Java Basics - Anfänger-Themen 18
V Erste Schritte Potenzen b^n mittels Schleife ermitteln Java Basics - Anfänger-Themen 7
S XML mittels HTTP Get Anfrage Java Basics - Anfänger-Themen 4
W Teilstring durch Teilstring mittels StringBuilder ersetzen Java Basics - Anfänger-Themen 7
P Liste mit Lücken mittels Filter aggregieren Java Basics - Anfänger-Themen 7
M Methoden Mittelwert rationaler Zahlen mittels Methode Java Basics - Anfänger-Themen 4
P Klassen In einer Autoklasse das Objekt Auto mittels Collection Speichern Java Basics - Anfänger-Themen 4
M Fibonacci rekursiv mittels Cache Java Basics - Anfänger-Themen 17
K Methoden Zahlensysteme umwandeln mittels Rekursion Java Basics - Anfänger-Themen 5
S int-Array mittels Arrays.sort() in einer Schleife sortieren. Java Basics - Anfänger-Themen 2
A JavaScript Object Notation einbinden mittels Maven Java Basics - Anfänger-Themen 7
L Liste mittels Stack implementieren Java Basics - Anfänger-Themen 0
J OOP GUI-Einstellungen mittels Preferences Java Basics - Anfänger-Themen 0
J ComboBox mittels neuer Methode befüllen Java Basics - Anfänger-Themen 3
A Android-Lib: Sourcecode Generator mittels Annotation Processing Java Basics - Anfänger-Themen 0
W Erste Schritte Exceltabelle in Datenbank übertragen mittels XDEV Java Basics - Anfänger-Themen 7
L Histogram mittels Schleifen und Arrays Java Basics - Anfänger-Themen 9
S Columnindex mittels Columnname herrausfinden Java Basics - Anfänger-Themen 6
M Explorer oeffnen mittels java.awt.Desktop Java Basics - Anfänger-Themen 18
Dogge URL-Ausgabe/Verarbeitungsproblem mittels einer Applikation Java Basics - Anfänger-Themen 2
H Methoden Array aus Punkten erzeugen, mittels Punkt-Klasse Java Basics - Anfänger-Themen 5
S Dateien mittels Path(s) kopieren und umbenennen. Java Basics - Anfänger-Themen 4
C Dynamische (AJAX) Inhalte einer Webseite mittels Java auslesen Java Basics - Anfänger-Themen 2
N Mittels For Schleife Klasse erzeugen Java Basics - Anfänger-Themen 32
B Abfrage mittels Variable vereinfachen Java Basics - Anfänger-Themen 6
D Klassen Zeichnen von Figuren mittels vorgegebener Klasse Java Basics - Anfänger-Themen 3
P Collatz-Folge mittels indirekter Rekursion Java Basics - Anfänger-Themen 8
J Wurzelberechnung (mittels Newton) Java Basics - Anfänger-Themen 14
B Lotto mittels TreeSet Java Basics - Anfänger-Themen 3
C Vererbung "extends" umgehen mittels Objekterzeugung?! Java Basics - Anfänger-Themen 29
A String mittels RegEx filtern Java Basics - Anfänger-Themen 13
U E-Mails mittels Java senden. Java Basics - Anfänger-Themen 2
J Aufruf von Funktionen in *.jar mittels Eclipse Java Basics - Anfänger-Themen 4
E PHP Datei mittels Java aufrufen? Java Basics - Anfänger-Themen 3
P Collections Queue mittels ArrayList Java Basics - Anfänger-Themen 2
F Substring mittels RegEx ermitteln/ersetzen? Java Basics - Anfänger-Themen 2
R 3 Datumsangaben sortieren mittels Switch Java Basics - Anfänger-Themen 9
J Arraylänge mittels "Array.getLength" bestimmen!? Java Basics - Anfänger-Themen 3
I Ascii Bild mittels Scanner einlesen Java Basics - Anfänger-Themen 9
K OOP Datenkapselung mittels private - length Attribut bei Array Java Basics - Anfänger-Themen 3
M Delphi-DLL mittels JNI aufrufen Java Basics - Anfänger-Themen 11
H .jar Consolenprogramm mittels Doppelklick starten Java Basics - Anfänger-Themen 2
S SQL Anweisung mittels PreparedStatement Java Basics - Anfänger-Themen 15
M Additions mittels Rekursion Java Basics - Anfänger-Themen 15
E Array mittels Methode umgekehrt ausgeben Java Basics - Anfänger-Themen 6
Binary.Coder Skalarprodukt mittels long und binärzahlen Java Basics - Anfänger-Themen 5
M Auf Java (Desktop) Applikation mittels Webseite zugreifen Java Basics - Anfänger-Themen 6
W Suche nach strings zwischen eckigen Klammern mittels regulärer Ausdrücke Java Basics - Anfänger-Themen 3
Gonzalez Eingabe des Benutzers mittels readLine()-Methode. Klappt in meinem Beispiel nicht! Java Basics - Anfänger-Themen 7
R JTextField mittels JButton in Konsole ausgeben Java Basics - Anfänger-Themen 2
Z Terminkalender mittels Klassen und Feldern Java Basics - Anfänger-Themen 2
M Benutzer löschen mittels Netbeans Java Basics - Anfänger-Themen 4
I (fremde) IP mittels Applet auslesen Java Basics - Anfänger-Themen 6
G Mittels Runtime prüfen ob ein Programm läuft? Java Basics - Anfänger-Themen 18
M MenuShortcut nur mittels Shift+Taste Java Basics - Anfänger-Themen 3
N einbinden von anderen klassen mittels import Java Basics - Anfänger-Themen 2
M Datei speichern mittels InputStream Java Basics - Anfänger-Themen 13

Ähnliche Java Themen


Oben