tutorials.de Buch-Aktion 02/2012
Seite 3 von 4 ErsteErste 1234 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
57
ZUGRIFFE
1806
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #31
    TommyMo TommyMo ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Beiträge
    261
    Nope, du kannst den ersten Aufruf von einKonto.abheben( ... ) einfach weglassen. Der Aufruf in der if-Anweisung reicht völlig.

    TOM
     
    alles Gute kommt von ...

  2. #32
    Avatar von morphi79
    morphi79 morphi79 ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    155
    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"´);
    }
    also passt das dann so?
     

  3. #33
    TommyMo TommyMo ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Beiträge
    261
    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)) {
     ....
    }

    TOM
     
    alles Gute kommt von ...

  4. #34
    Avatar von morphi79
    morphi79 morphi79 ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    155
    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"´);
     }
        }
    }
     

  5. #35
    TommyMo TommyMo ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Beiträge
    261
    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 ...

  6. #36
    Avatar von morphi79
    morphi79 morphi79 ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    155
    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"´);
     }
        }
    }
     

  7. #37
    TommyMo TommyMo ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Beiträge
    261
    Yeeehaaa!! Du hast es
     
    alles Gute kommt von ...

  8. #38
    TommyMo TommyMo ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Beiträge
    261
    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 ...

  9. #39
    Avatar von morphi79
    morphi79 morphi79 ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    155
    Zitat Zitat von TommyMo
    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
    ok, das werde ich mir heute abend reinziehen, das andere ist mir jetzt klar soweit
     

  10. #40
    Avatar von morphi79
    morphi79 morphi79 ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    155
    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.
     

  11. #41
    TommyMo TommyMo ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Beiträge
    261
    Sehr gut! Dann wünsch ich dir noch fröhliches Schaffen! Der nächste Antritt wird schon gut laufen.

    Gruß
    TOM
     
    alles Gute kommt von ...

  12. #42
    TommyMo TommyMo ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Beiträge
    261
    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
    TOM
     
    alles Gute kommt von ...

  13. #43
    Avatar von kroesi
    kroesi kroesi ist offline Mitglied Gold
    Registriert seit
    Jun 2005
    Beiträge
    166
    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
     

  14. #44
    Avatar von morphi79
    morphi79 morphi79 ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    155
    Zitat Zitat von TommyMo
    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
    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.
     

  15. #45
    Avatar von morphi79
    morphi79 morphi79 ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    155
    Zitat Zitat von TommyMo
    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
    TOM
    mh... naja so klar ist das nicht.
     

Ähnliche Themen

  1. Microsoft Exchange 2007 Step by Step
    Von denisSCR im Forum Microsoft Windows
    Antworten: 0
    Letzter Beitrag: 24.02.10, 11:25
  2. "making of" eines 3d characters - step by step
    Von pixel-panik im Forum Cinema 4D
    Antworten: 1
    Letzter Beitrag: 07.02.08, 11:15
  3. Step-by-Step Tutorial: Achieve Rapid Application Development with Seam+Eclipse+Tomcat
    Von Techieexchange im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 1
    Letzter Beitrag: 13.11.07, 22:43
  4. Antworten: 0
    Letzter Beitrag: 13.12.05, 21:09
  5. Suche Step-by-step Tut
    Von Oxygen im Forum 3D Studio Max
    Antworten: 1
    Letzter Beitrag: 22.07.01, 13:13