Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
...und probiere mich gerade mit Scanner, um in der Main-Methode Eingaben zu erhalten und Konstruktoren aufrufen zu können. Hier möchte ich prüfen, ob ein Double eingegeben wurde, um damit den Betrag für das Konto zu füttern.
Code:
double eingabe = 0.00;
System.out.println("Bitte geben Sie den Betrag ein");
do
{
Scanner tastatur=new Scanner(System.in);
if (tastatur.hasNextDouble()) {
double betrag = tastatur.nextDouble();
GiroKonto testkonto = new GiroKonto(betrag);
System.out.println(testkonto.betrag + ", " + testkonto.knummer);
} else {
System.out.println("Falsche Eingabe.");
}
} while (eingabe>0);
Das Script funktoniert nur, wenn ich eine Ganzzahl (int) eingebe. Gebe ich 12.99 ein, erhalte ich "Falsche Eingabe". Liegt das am Script oder an der Art der Eingabe? Ich arbeite mit Eclipse.
also mit einer kommazahl (hier liegt die betonung auf KOMMA) sollte es auch gehen. die eingabe wird wohl im europäischen eingabeformat (x,xx) erwartet nicht x.xx.
und warum ist da eine while schleife drum? damit der scanner auf die eingabe wartet? das macht er sowieso, in dem fall hier kann man auf die while verzichten. oder hat die nen anderen grund?
wollte nur wichtige Fragen stellen und jetzt sowas. Du hast recht, es funktioniert.
Hab bemerkt, dass es auch so klappt:
Code:
Scanner s = new Scanner(System.in);
try {
s.nextDouble();
System.out.println("Ihre Eingabe war ein double.");
} catch (InputMismatchException e) {
System.out.println("Ihre Eingabe war kein double.");
}
While-Schleife fliegt raus, hatte ich hier gelesen, hatte dort aber sicher einen anderen Grund.
In der Aufgabe steht noch, dass dieses Menü angezeigt werden soll:
Code:
public void menue()
{
System.out.println("--- MENÜ ---");
System.out.println("1. neuer Kunde");
System.out.println("2. n Kunden automatisch erzeugen (n vom Benutzer einzugeben)");
System.out.println("3. alle Kunden ausgeben");
System.out.println("4. neues GiroKonto anlegen für einen gewählten Kunden");
System.out.println("5. neues SparKonto anlegen für einen gewählten Kunden");
System.out.println("6. alle Konten ausgeben");
System.out.println("7. alle Kunden mit allen Konten ausgeben");
} // end of menue
Soweit so gut. Ich habe "public void menue() {" rausgeschmissen, so dass das Menü am Anfang angezeigt wird.
Nur wird mir aber gerade klar, dass das Menü nach der Eingabe des gewünschten Punktes verschwindet und das Programm beendet wird.
Ich habe die möglichen Eingaben und die dazu gehörigen Anweisungen in ein Switch/Case gepackt. Aber nach jeder Anweisung wird das Programm ja beendet. Besser wäre, dass nach der Anweisung erneut das Menü erscheint, ohne dass das Programm beendet wird.
Aber wie komme ich zur erneuten Anzeige? Bin innerhalb der Klasse Testrahmen in der Main-Methode...
Aber mal rein interessenhalber: Kann ich dieses "public void menue()" nicht innerhalb meiner Anweisungen aufrufen, also dass es einfach angezeigt wird? Das ist doch eine Methode, die ich irgendwie aufrufen können muss, oder?