Code:
/** Prüfen des eingegbenen Namens**/
public void setName(String name) {
this.name = name;
if(name.equals(""))
{System.out.println("Fehler");}
}
Ich möchte gerne meine Daten schon in der set Methode überprüfen lassen.
1)
Code:
switch (auswahl)
{//Konto anlegen
case 1:
System.out.println("Bitte geben Sie ihren Namen an:");
kk.ÜberprüfeString();
System.out.println("Bitte geben Sie ihren Vornamen an:");
kk.vorname= eingabe.readLine();
2)
Code:
/* if(!eingabe.readLine().isEmpty()){
kk.name= eingabe.readLine();
}
else{System.out.println("Falsche Eingabe" + "\t"+ " Starten Sie das Programm neu.");
fertig =true;
break;
}*/
Der 2)te Code funktioniert super, doch möchte ich den in eine set Methode haben. Ich habe mich auch selbst versucht, doch komme ich da nicht weiter.
Dann habe ich es mal anders versucht:
3.)
Code:
public void ÜberprüfeString() throws IOException
{
if(!eingabe.readLine().isEmpty()){
kk.name= eingabe.readLine();
}
else
{System.out.println("Falsche Eingabe" + "\t"+ " Starten Sie das Programm neu.");
fertig =true;
}
}
Wenn ich nun meine Methoden aufrufen möchte , siehe 1), dann haut mir der Compiler einen Fehler raus:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
Ich weiß was der Heap ist, auf dem werden die Instanzvariablen gespeichert. Habe ich meinen Speicherplatz verbraucht? Ihn überladen?
Code:
switch (auswahl)
{//Konto anlegen
case 1:
System.out.println("Bitte geben Sie ihren Namen an:");
if(!eingabe.readLine().isEmpty()){
kk.name= eingabe.readLine();
}
else{System.out.println("Falsche Eingabe" + "\t"+ " Starten Sie das Programm neu.");
fertig =true;
break;
}
System.out.println("Bitte geben Sie ihren Vornamen an:");
kk.vorname= eingabe.readLine();
So funktioniert der Code, bloß dann muss ich ja für jeden String eine neue If schleife machen
Zusätzlich will ich auch noch Zahlen eingabe verhindern.
Ist es das besser noch try and catch einzubinden ...und macht man ein überprüfung von zahlen mit isDigit oder DecimalFormat?
Zu Not kann ich euch gerne Mal den ganzen Quellcode schicken . Habe alles in eins, sollte mal anfangen mit extends zu arbeiten.