fehler bei arrayerstellung

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
ich soll ein Hilfsarray mit einem Eintrag mehr als in konten erstellen und dann alle einträge aus konten ins hilfsarray kopieren. Am Ende soll das Hilfsarray als neues kontenarray stehen.
Dadurch soll eben ein dynamisches Array erstellt werden. Danke für eure Hilfe
mehr hab ich nicht zusammen bekommen:

Code:
public class Bank {
	Konto[] konten;
	public void addKonto(Konto k){
		Konto[] Hilfsarray=new Konto[konten.lenght+1];
		System.arraycopy(konten, Hilfsarray);
		Hilfsarray=konten;
	}
}
 
Probiers mal so oder ähnlich

Code:
public class Bank {
   Konto[] konten;
   public void addKonto(Konto k){
      Konto[] Hilfsarray=Arrays.copyof(konten, konten.length + 1); //Befehl erst ab Java 1.6
      Hilfsarray[konten.length] = k;
      konten = Hilfsarray;
   }
}

Grüße
 
konten[] ist eine Referenz auf null, es muss zuerst ein Objekt zugeordnet werden bevor man .length aufrufen kann.
 
... ich wollte nicht die ganze Klasse "Bank" schreiben, sondern nur die Idee für Funktion anbieten...
... also vorher noch Abfrage ob konten == null und wenn ja dann erstmal anlegen
... oder im Konstruktor "konten" instanzieeren...
... oder statt nur "Konto[] konten;" -> "Konto[] konten = {};" ...
 
mhh bekomm ich nicht gebacken, könnt ihr mal bitte oben in den code reinschreiben was noch rein muss.
 
Code:
public class Bank {
   Konto[] konten;
   public void addKonto(Konto k){
      if(konten == null) {
         konten = {k};
         return;
      }
      Konto[] Hilfsarray=Arrays.copyof(konten, konten.length + 1); //Befehl erst ab Java 1.6
      Hilfsarray[konten.length] = k;
      konten = Hilfsarray;
   }
}
Da bin ich mir nicht ganz sicher, ob das so geht... alternativ:
Code:
public class Bank {
   Konto[] konten;
   public void addKonto(Konto k){
      if(konten == null) {
         konten = new Konto[1];
         konten[0] = k;
         return;
      }
      Konto[] Hilfsarray=Arrays.copyof(konten, konten.length + 1); //Befehl erst ab Java 1.6
      Hilfsarray[konten.length] = k;
      konten = Hilfsarray;
   }
}
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben