ERLEDIGT
NEIN
NEIN
ANTWORTEN
57
57
ZUGRIFFE
1806
1806
EMPFEHLEN
-
Nope, du kannst den ersten Aufruf von einKonto.abheben( ... ) einfach weglassen. Der Aufruf in der if-Anweisung reicht völlig.
TOMalles Gute kommt von ...
-
also passt das dann so?Code :
1 2 3 4 5 6 7 8
// Vom Konto abheben einKonto.abheben(150.00); if (einKonto.abheben()){ System.out.println("Kontostand nach abheben von 150.00: " + einKonto.getKontostand());} else{ System.out.println("Guthaben nicht ausreichend"´); }
-
Falsche Version:
Code :1 2 3 4 5 6 7
// behebe 150 geldeinheiten ... einKonto.abheben(150); // behebe 150 geldeinheiten ... if (einKonto.abheben(150)) { .... }
Also gesamt: 300 Geldeinheiten, du willst aber nur 150 beheben.
Das hier ist dir richtige Version:
Code :1 2 3 4
// behebe 150 geldeinheiten ... if (einKonto.abheben(150)) { .... }
TOMalles Gute kommt von ...
-
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
public class KontoTester { public static void main(String[] args) { Konto einKonto; // Konto anlegen einKonto = new Konto(500.00, "12345678"); System.out.println("Die Kontonummer lautet: "+ einKonto.getKontonummer()); System.out.println("Erster Kontostand: " + einKonto.getKontostand()); // Vom Konto abheben einKonto.abheben(); if (einKonto.abheben(150.00)){ System.out.println("Kontostand nach abheben von 150.00: " + einKonto.getKontostand());} else{ System.out.println("Guthaben nicht ausreichend"´); } // Auf Konto einzahlen einKonto.einzahlen(11.23); System.out.println("Kontostand nach einzahlen von 11.23: " + einKonto.getKontostand()); // Vom Konto abheben einKonto.abheben(); if (einKonto.abheben(400.00)){ System.out.println("Kontostand nach abheben von 400.00: " + einKonto.getKontostand());} else{ System.out.println("Guthaben nicht ausreichend"´); } // Auf Konto einzahlen einKonto.einzahlen(222.50); System.out.println("Kontostand nach einzahlen von 222.50: " + einKonto.getKontostand()); // Vom Konto abheben einKonto.abheben(); if (einKonto.abheben(47.62)){ System.out.println("Kontostand nach abheben von 47.62: " + einKonto.getKontostand());} else{ System.out.println("Guthaben nicht ausreichend"´); } } }
-
Oki doki, ich hab mich vielleicht nicht genau ausgedrückt. Was ich meinte war, lass das erste einKonto.abheben(...) weg. Bei dir siehts so aus:
Code :1 2 3 4 5 6 7 8
// Vom Konto abheben einKonto.abheben(); if (einKonto.abheben(400.00)){ System.out.println("Kontostand nach abheben von 400.00: " + einKonto.getKontostand());} else{ System.out.println("Guthaben nicht ausreichend"´); }
einKonto.abheben(), abgesehen davon, dass es nicht funktionieren würde, da ein float Parameter erwartet werden würde ..., ist nicht notwendig. Lass es einfach weg. Wenn du es nämlich dabehälst, wird die Methode zweimal ausgeführt, also einmal vor, genau an der Stelle die wir gerade diskutieren, als auch IN der if-Anweisung. Die richtige Lösung muss also lauten:
Code :1 2 3 4 5 6 7
// Vom Konto abheben if (einKonto.abheben(400.00)){ System.out.println("Kontostand nach abheben von 400.00: " + einKonto.getKontostand());} else{ System.out.println("Guthaben nicht ausreichend"´); }
Das reicht vollkommen für das Behenben von 400 Geldeinheiten.
Diese ganzen Abfragen könntest du dir aber ersparen, und es zentral in der Methode ausgeben. Dazu aber mehr, wenn du das Beispiel hier richtig auf die Reihe bekommen hast
alles Gute kommt von ...
-
also dann so
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
public class KontoTester { public static void main(String[] args) { Konto einKonto; // Konto anlegen einKonto = new Konto(500.00, "12345678"); System.out.println("Die Kontonummer lautet: "+ einKonto.getKontonummer()); System.out.println("Erster Kontostand: " + einKonto.getKontostand()); // Vom Konto abheben if (einKonto.abheben(150.00)){ System.out.println("Kontostand nach abheben von 150.00: " + einKonto.getKontostand());} else{ System.out.println("Guthaben nicht ausreichend"´); } // Auf Konto einzahlen einKonto.einzahlen(11.23); System.out.println("Kontostand nach einzahlen von 11.23: " + einKonto.getKontostand()); // Vom Konto abheben if (einKonto.abheben(400.00)){ System.out.println("Kontostand nach abheben von 400.00: " + einKonto.getKontostand());} else{ System.out.println("Guthaben nicht ausreichend"´); } // Auf Konto einzahlen einKonto.einzahlen(222.50); System.out.println("Kontostand nach einzahlen von 222.50: " + einKonto.getKontostand()); // Vom Konto abheben if (einKonto.abheben(47.62)){ System.out.println("Kontostand nach abheben von 47.62: " + einKonto.getKontostand());} else{ System.out.println("Guthaben nicht ausreichend"´); } } }
-
Yeeehaaa!! Du hast es
alles Gute kommt von ...
-
Eine Verfeinerung wäre dann noch, damit du dir die ständige Abfragerei ersparst, dass du die if-Abfrage in die Methoden reinnimmst. Was mein ich damit schon wieder?
Ganz einfach, so wies jetzt gemacht wird, mußt du nach jeden Methodenaufruf
Code :1 2 3 4 5 6
if (einKonto.abheben(..)) { System.out.println .... } else { System.out.println ... }
abfragen. Das kannst du aber eigentlich schon in deiner Methode machen ... . Also, wenn behoben werden darf, gleich einen Output auf die Console rausschreiben ... . Das Gleiche beim Einzahlen
alles Gute kommt von ...
-
ok, das werde ich mir heute abend reinziehen, das andere ist mir jetzt klar soweit
Zitat von TommyMo
-
ich will aber noch eine kleine sache angehen, welche so aussieht:
Code :1 2 3 4 5 6 7 8 9 10 11
public class TestExceptions { static String arr[] = {"Alpha", "Beta", "Gamma", "Zeta"}; public static void zeigeEintrag(int index) { System.out.println("Eintrag " + index + " lautet: " + arr[index]); } public static void main(String args[]) { int index = Integer.parseInt(args[0]); zeigeEintrag(index); } }
Wenn ich alles bis jetzt richtig gemacht habe, dann wandelt die Methode main() das erste Kommandozeilenargument in einen Wert vom Typ int um und ruft mit diesem Argument die Methode zeigeEintrag() auf. Diese Methode gibt den entsprechenden Eintrag des Arrays arr aus. Das wäre schon mal ein Teil der Aufgabe.
Jetzt soll die Klasse so umgeschrieben werden, dass die Methode zeigeEintrag() keine Exception
wirft, wenn der übergebene Index außerhalb der Array-Grenzen liegt, sondern
soll in einem solchen Fall die Meldung ausgegeben werden, dass es keinen Eintrag
mit diesem Index gibt.
Als Hinweis ist noch gegeben: Verwenden Sie dazu Anweisungen zur Ausnahmebehandlung, nicht die Eigenschaft length des Arrays.
Ausnahmen, die durch ein fehlendes oder nicht numerisches Kommandozeilenargument auftreten, müssen nicht behandelt werden.
-
Sehr gut! Dann wünsch ich dir noch fröhliches Schaffen! Der nächste Antritt wird schon gut laufen.
Gruß
TOMalles Gute kommt von ...
-
Oki doki. Das hört sich, wenn ichs richtig verstanden habe, nach einem Try-Catch Block an.
Try-Catch is klar?
Wenn ja, pack einfach die Zuweisung oder den Zugriff auf das Array in den Try Block, und die Behandlung, was du im Gegenfall machen willst, also wenn ein Fehler auftritt, in den Catch-Block.
Gruss
TOMalles Gute kommt von ...
-
Hi zusammen !
Also, sorry, aber ich glaub mein Browser spinnt, der hat mir die Seite heute auf nem anderen Rechner ganz anders dargestellt. Wollte nix posten, was eh schon gelöst ist und hier die Newbies verwirren.
Werd mal meinen Browser-Cache löschen.
Glückwunsch übrigens, die nächste Prüfung klappt dann schon !
Krösi
-
danke dir nochmals für deine ausführungen. hab mir es gestern abend angesehen und noch 2 aufgaben gemacht. ich glaub das hab ich jetzt drin.
Zitat von TommyMo
-
mh... naja so klar ist das nicht.
Zitat von TommyMo
Ähnliche Themen
-
Microsoft Exchange 2007 Step by Step
Von denisSCR im Forum Microsoft WindowsAntworten: 0Letzter Beitrag: 24.02.10, 11:25 -
"making of" eines 3d characters - step by step
Von pixel-panik im Forum Cinema 4DAntworten: 1Letzter Beitrag: 07.02.08, 11:15 -
Step-by-Step Tutorial: Achieve Rapid Application Development with Seam+Eclipse+Tomcat
Von Techieexchange im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 1Letzter Beitrag: 13.11.07, 22:43 -
Installation von Cocoon in Eclipse - Step by Step
Von downset04 im Forum JavaAntworten: 0Letzter Beitrag: 13.12.05, 21:09 -
Suche Step-by-step Tut
Von Oxygen im Forum 3D Studio MaxAntworten: 1Letzter Beitrag: 22.07.01, 13:13





Zitieren
Login




