Hey,
Ich habe mich heute mal an einem ersten richtigen Programm versucht, welches (Bank-)Konten verwalten soll. Das ganze läuft über die Klasse Konto:
Das Programm soll Konto-Daten aus einer *.txt Datei auslesen und diese in einem KontoArray speichern. Ich hatte den Code dazu erst in der main Methode stehen, aber das war mir dann doch zu unübersichtlich. Desshalb habe ich die Hilfsklasse ArrayOfKontos erstellt, die zum einen die Methode besitzt, die die Daten ausliest, zum anderen eine erweiterte display-Methode, die Arrays anzeigen kann.
Das Problem ist, dass der main Methode ein leeres Array übergeben wird, obwohl die Display Methode für Arrays ein gefülltes Array ausgibt.
Weiß jemand woran das liegt?
Achso, falls der Fehler ziemlich einfach war, nicht aufregen, ich stehe noch ziemlich am anfang.
Danke im Vorraus
//Edit:
Habe jetzt einen Fehler entdeckt. Die for schleife muss in der while Schleife definiert werden und nicht andersherum. Dennoch ergibt die Ausgabe der Kopie des Arrays, was gefüllt wurde nur Unsinn(Test.Konto@6d6f6e28, Test.Konto@135fbaa4, Test.Konto@45ee12a7).
Ich habe mich heute mal an einem ersten richtigen Programm versucht, welches (Bank-)Konten verwalten soll. Das ganze läuft über die Klasse Konto:
Java:
package Test;
public class Konto {
String Name;
String Adresse;
double saldo;
public Konto(final String Name,final String Adresse,final double saldo)
{
this.Name = Name;
this.Adresse = Adresse;
this.saldo = saldo;
}
public void display()
{
System.out.println(Name + "(" + Adresse +") besitzt € " + saldo + ".");
}
}
Java:
package Test;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ArrayOfKontos {
public static Konto[] KontoArray(final String FilepathincludedFile, final int ArrayLenght) throws FileNotFoundException {
String Filepath = FilepathincludedFile;
Konto[] Kontolist = new Konto[ArrayLenght];
int Kontolistlenght = Kontolist.length;
Scanner File = new Scanner(new File(Filepath));
for (int i = 0; i < Kontolistlenght; i++) {
while (File.hasNext()) {
String Name = File.nextLine();
String Adresse = File.nextLine();
double saldo = Double.parseDouble(File.nextLine());
Kontolist[i] = new Konto(Name, Adresse, saldo);
DisplayOfAnKontoArray(Kontolist, ArrayLenght);
}
}
return Kontolist;
}
public static void DisplayOfAnKontoArray(final Konto[] KontoArray, final int ArrayLenght)
{
for(int i = 0;i<ArrayLenght;i++)
KontoArray[i].display();
}
}
Java:
package Test;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Kontotest {
public static void main(String[] args) throws FileNotFoundException {
Konto Baum = new Konto("Anonym", "Baumstraße 1", 423.00);
Baum.display();
String Filepath = "C:\\Users\\Thomas\\Desktop\\Kontolist.txt";
int ArrayLength = 3;
Konto[] Kontolist = new Konto[ArrayLength];
ArrayOfKontos.KontoArray(Filepath, ArrayLength);
for(int i = 0;i<Kontolist.length;i++)
System.out.println(Kontolist[i]);
}
}
Weiß jemand woran das liegt?
Achso, falls der Fehler ziemlich einfach war, nicht aufregen, ich stehe noch ziemlich am anfang.
Danke im Vorraus
//Edit:
Habe jetzt einen Fehler entdeckt. Die for schleife muss in der while Schleife definiert werden und nicht andersherum. Dennoch ergibt die Ausgabe der Kopie des Arrays, was gefüllt wurde nur Unsinn(Test.Konto@6d6f6e28, Test.Konto@135fbaa4, Test.Konto@45ee12a7).
Zuletzt bearbeitet: