if und else problem...

Supra

Bekanntes Mitglied
Moin ich lerne java und habe wieder mal ein Problem-.-.
Mein Code:
Java:
public void zeigeKundeAn(long kundennummer)//throws BankException
    {
        for(int i = 0; i < kunden.size(); i++)
        {
            if(kunden.get(i).getKundenNummer()==(long)kundennummer)
            {
                Kunde kunde = null;
                kunde = kunden.get(i);
                System.out.println("Kundennummer: " +kunde);
                break;
            }
            else
            {
                System.out.print("Kein Kunden unter dieser Kundennummer: "+ kundennummer +  " gefunden.");
            }
        }
    }
Mein aufruf:
Java:
 bank.zeigeKundeAn((long)10000);

Ich hoffe das reicht euch, mein Problem ist das ich beides ausgegeben bekomm die Fehlermeldung und mein Kunden. :S ich habe den Kunden in einer Arraylist gespeichert.
Wäre nett wenn ihr mir helft.:oops:
 
Zuletzt bearbeitet:
M

Marcinek

Gast
Er geht für jeden Kunden durch.

Wenn du 3 Kunden hast, 2x kein Treffer und der dritte ein Treffer, dann ist klar, dass du beides siehst.

Warum ein Cast von long nach long? ;D
 

Supra

Bekanntes Mitglied
Weil er mir jedes mal sagt das die "10000" ein int ist und dann nicht Compatible ist.

Stimmt du hast recht wie kann ich das umgehen? Wenn ich die Fehlermeldung raus nehme aus der for- schleife wird er mir die ja auch anzeigen.
 

TKausL

Top Contributor
Java:
public void zeigeKundeAn(long kundennummer)//throws BankException
    {
        for(int i = 0; i < kunden.size(); i++)
        {
            if(kunden.get(i).getKundenNummer()==(long)kundennummer)
            {
                Kunde kunde = null;
                kunde = kunden.get(i);
                System.out.println("Kundennummer: " +kunde);
                return;
            }
        }

	System.out.print("Kein Kunden unter dieser Kundennummer: "+ kundennummer +  " gefunden.");
    }

Was passiert dort:

Die Schleife iteriert über alle Kunden. WENN er einen findet druckt er diesen aus und Beendet sofort die ganze Methode (returnt aus dieser). Fals er KEINEN findet passiert natürlich garnichts in der Schleife, er kommt aus der Schleife raus und printet die Fehlermeldung.

BTW:
Java:
                Kunde kunde = null;
                kunde = kunden.get(i);
                System.out.println("Kundennummer: " +kunde);
Ist unnötige Schreibarbeit...
Java:
                Kunde kunde = kunden.get(i);
                System.out.println("Kundennummer: " +kunde);

oder gleich so:

Java:
                System.out.println("Kundennummer: " +kunden.get(i));

BTW2:

Nutze nicht (long)10000 sondern 10000L
 
Zuletzt bearbeitet:
P

pappawinni

Gast
Du könntest vor der Schleife eine boolean auf auf false setzen.
Wenn der Kunde beim Durchlauf der Schleife gefunden wird, dann setzt du die auf true.
Nach der Schleife gibst du dann eine Fehlermeldung aus, wenn die boolean immernoch auf false steht.
 

Supra

Bekanntes Mitglied
Ja ok so eine Sache mit der Schreibarbeit ;). Ich habe halt gedacht wenn er einen kunden mit der Kundennummer gefunden hat soll er ein break; machen. Marcinek hat mir ja eben schon gesagt woran es liegt wuste nicht wie ich das umgehe. :S
 

TKausL

Top Contributor
Ja ok so eine Sache mit der Schreibarbeit ;). Ich habe halt gedacht wenn er einen kunden mit der Kundennummer gefunden hat soll er ein break; machen. Marcinek hat mir ja eben schon gesagt woran es liegt wuste nicht wie ich das umgehe. :S

Natürlich, das Break bricht den Schleifendurchlauf ab. Allerdings bekommst du Trotzdem die Fehlermeldung 2 mal, wenn z.B. erst der dritte Kunde ein Treffer ist da Durchlauf 1 und 2 ja in den else-Zweig kommen.
Merk dir, wenn du nach etwas in einer Schleife "suchst", dann stecke die Fehlermeldung NIEMALS in die Schleife sondern erst danach.
 

stone71

Mitglied
Warum gibst Du nicht den Kunden zurück und bekommst entweder null oder den Kunden!?
dann kannst Du mit dem vorhanden Kunden alles mögliche machen.


Java:
public Kunde zeigeKundeAn(long kundennummer)//throws BankException
    {
        Kunde kunde = null;
        for(int i = 0; i < kunden.size(); i++)
        {
            if(kunden.get(i).getKundenNummer()==(long)kundennummer)
            {
                kunde = kunden.get(i);
                break;
            }
        } 
        return kunde;
    }
 

TKausL

Top Contributor
Warum gibst Du nicht den Kunden zurück und bekommst entweder null oder den Kunden!?
dann kannst Du mit dem vorhanden Kunden alles mögliche machen.


Java:
public Kunde zeigeKundeAn(long kundennummer)//throws BankException
    {
        Kunde kunde = null;
        for(int i = 0; i < kunden.size(); i++)
        {
            if(kunden.get(i).getKundenNummer()==(long)kundennummer)
            {
                kunde = kunden.get(i);
                break;
            }
        } 
        return kunde;
    }
Was er letztendlich mit den Kunden macht ist ja seine Sache... und ein long braucht immernoch nicht zu einem long gecastet werden.

Java:
public Kunde zeigeKundeAn(long kundennummer)
    {
        for(int i = 0; i < kunden.size(); i++)
            if(kunden.get(i).getKundenNummer()==kundennummer)
                return kunden.get(i);
        return null;
    }
 

Supra

Bekanntes Mitglied
Ok TKausL das werde ich mir merken, ja ist einiges komisch ich hatte die Fehlermeldung nur einmal bekommen und den Kunden, obwohl ich 3 Kunden habe. Aber jetzt funktionierts. Ich habe ja eigentlich schon eine funktion mit findeKunde und darüber wollte ich den kunden auch suchen aber da habe ich momentan noch meine Probleme das er mir bei der funktion "findeKunde" ein kundenobjekt zurück gibt. Und bei "zeigeKundeAn" ein long übergeben. Da muss ich noch bischen zu lernen, deswegen löse ich das erstmal so.
 

Supra

Bekanntes Mitglied
das mit long hat sich jetzt auch geklärt, scheint als ob ich was davor falsch gemacht hätte. Weil ich woanders "Long" habe
 

TKausL

Top Contributor
Ok TKausL das werde ich mir merken, ja ist einiges komisch ich hatte die Fehlermeldung nur einmal bekommen und den Kunden, obwohl ich 3 Kunden habe.

Ja, genau dieser Fall tritt auf, wenn Kunde #2 der ist, den du suchst.

1. Schleifendurchgang: Fehlermeldung
2. Schleifendurchgang: TREFFER!!! + Abbruch der Schleife

Du bekommst mit deinem Code immer X Fehlermeldungen, wobei X die Zahl ist, wieviele Kunden "gecheckt" werden bis der richtige gefunden wurde minus 1.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Problem mit If Else If und Überprüfung eines Counters Java Basics - Anfänger-Themen 3
Y Problem mit If-Else Verzweigung! Java Basics - Anfänger-Themen 9
T If, else Problem Java Basics - Anfänger-Themen 12
T Problem im If-Else-Statement Java Basics - Anfänger-Themen 4
I Methoden Problem If/Else; Public Void Java Basics - Anfänger-Themen 6
K Mal wieder ein Problem mit If / Else Java Basics - Anfänger-Themen 10
K Anfänger If / Else Problem Java Basics - Anfänger-Themen 5
A ein if else problem Java Basics - Anfänger-Themen 13
B Problem mit Variable und if/else Java Basics - Anfänger-Themen 6
M Problem mit der For Schleife (else funzt nicht richtig) Java Basics - Anfänger-Themen 10
B unlogisches Problem mit Tastatureingabe und If-Else Java Basics - Anfänger-Themen 4
O Problem mit else Java Basics - Anfänger-Themen 8
T if/else-Problem Java Basics - Anfänger-Themen 10
A if else problem Java Basics - Anfänger-Themen 8
T if-else Bedingung wird ignoriert Java Basics - Anfänger-Themen 4
I If / Else in Setter? Java Basics - Anfänger-Themen 8
M If-Else Java Basics - Anfänger-Themen 5
monsterherz if / else if mit Fehler den ich leider nicht finde Java Basics - Anfänger-Themen 11
laxla123 Verschachtelte If-Else Schleife Java Basics - Anfänger-Themen 21
laxla123 If-else Java Java Basics - Anfänger-Themen 4
luggas89 If else auch mit unterschiedlichen Antworten Java Basics - Anfänger-Themen 5
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
W Verschachtelte If-else --> finde meinen Fehler nicht Java Basics - Anfänger-Themen 30
pumpgun99 Fehler Meldung "else without if" Java Basics - Anfänger-Themen 3
B Scanner-If/else kleine Abhebungs-Simulation Java Basics - Anfänger-Themen 3
A Übung Else if Java Basics - Anfänger-Themen 2
M Else wird nicht ausgeführt. Java Basics - Anfänger-Themen 5
L If und else bei 2 Dimensionalen Arrays Java Basics - Anfänger-Themen 8
F if else if anfängerfrage Java Basics - Anfänger-Themen 22
T if else Befehl funktioniert nicht richtig Java Basics - Anfänger-Themen 27
T "Einkauf" & if else Struktur Java Basics - Anfänger-Themen 7
steven789hjk543 Input mit if-else Java Basics - Anfänger-Themen 23
H ERGÄNZUNGSFRAGE: Klammersetzung bei if-else Anweisungen und Schleifen Java Basics - Anfänger-Themen 2
A break; mit Einfluss hinter else if Block Java Basics - Anfänger-Themen 3
R else without if error Java Basics - Anfänger-Themen 5
F Methoden Verschachtelte if else Methode Java Basics - Anfänger-Themen 10
M Java Taschenrechner (if-else) Java Basics - Anfänger-Themen 11
C Variablen 'else' without 'if' Java Basics - Anfänger-Themen 4
F If - Else Java Basics - Anfänger-Themen 3
F Variablen If else: Einer Variable einen Wert hinzufügen oder so? Java Basics - Anfänger-Themen 6
I if/else Statements Java Anfänger Java Basics - Anfänger-Themen 14
M jOptionPane mit if else Java Basics - Anfänger-Themen 16
K Frage zu If & else if Java Basics - Anfänger-Themen 5
R else if anweisungen Java Basics - Anfänger-Themen 2
A Warum funktioniert switch aber nicht if/else? Java Basics - Anfänger-Themen 23
Hijo2006 If-else Java Basics - Anfänger-Themen 6
P Erste Schritte Taschenrechner mit if-else Anweisung Java Basics - Anfänger-Themen 6
T If/ Else If (zurückkehren) Java Basics - Anfänger-Themen 4
O Grosse If / Else verschachtelung übersichlitcher gestlten Java Basics - Anfänger-Themen 6
S Erste Schritte Unterschied "if" und "else if" Java Basics - Anfänger-Themen 27
M If in einem else Java Basics - Anfänger-Themen 14
A boolean Methode ohne If und else Java Basics - Anfänger-Themen 1
J Mehrere IF Anweisungen und dazugehörige ELSE Java Basics - Anfänger-Themen 6
C else in if umschreiben Java Basics - Anfänger-Themen 2
J Fehlermeldung else without if Java Basics - Anfänger-Themen 5
P Compiler-Fehler wieso zeigt der compiler ein else without if? Java Basics - Anfänger-Themen 3
E If...else... Java Basics - Anfänger-Themen 7
G Mehrere If-else-Sätze der Reihe nach durchlaufen lassen Java Basics - Anfänger-Themen 2
C If Else Frage Java Basics - Anfänger-Themen 2
M if, else Anweisung Java Basics - Anfänger-Themen 3
J Ergebnis wird gespammt sowie eine else if Frage Java Basics - Anfänger-Themen 2
A instanceof-if-else-Anweisungen eleganter lösen Java Basics - Anfänger-Themen 5
O if and else geht nur manchmal Java Basics - Anfänger-Themen 17
V Operatoren Java if-else argument Java Basics - Anfänger-Themen 4
D Keine Funktion bei "else" Java Basics - Anfänger-Themen 5
P [ANFÄNGER] if else funktioniert nicht Java Basics - Anfänger-Themen 4
C IF-Else Verknüpfungen Java Basics - Anfänger-Themen 10
Uzi21 if - else Abfrage Java Basics - Anfänger-Themen 6
R if funktion ohne else - Bedingung trifft nicht zu, ausgabe nicht nachvollziehbar Java Basics - Anfänger-Themen 7
T If ; else error on system token delete Java Basics - Anfänger-Themen 5
N Best Practice Stilistische Anwendung von if/else-Abfragen Java Basics - Anfänger-Themen 7
L else without if Fehler Java Basics - Anfänger-Themen 14
F try/catch - (else) Java Basics - Anfänger-Themen 11
H Worauf bezieht sich die erste else-Anweisung Java Basics - Anfänger-Themen 9
Q if-else Logikproblem Java Basics - Anfänger-Themen 4
M Probleme mit else if Java Basics - Anfänger-Themen 15
M Erste Schritte Break-Anweisung bei if-else Java Basics - Anfänger-Themen 6
B OOP If und else in Main class einbinden Java Basics - Anfänger-Themen 9
T Erste Schritte switch case Anweisung und if else Verzweigungen? Java Basics - Anfänger-Themen 6
K Bedingungen else Java Basics - Anfänger-Themen 7
B if-else in einer schleife Java Basics - Anfänger-Themen 14
J Erste Schritte If-Else Idee gesucht Java Basics - Anfänger-Themen 6
T if else Java Basics - Anfänger-Themen 8
R boolean, if-else Java Basics - Anfänger-Themen 7
M if then else geht nicht Java Basics - Anfänger-Themen 10
P int-Wertevergleich mit if-else-Verzweigung Java Basics - Anfänger-Themen 3
P If-else-Verzweigung Java Basics - Anfänger-Themen 9
E Compiler-Fehler Fehler: else without if Java Basics - Anfänger-Themen 11
D Java Einsteiger (boolean, if-else etc.) Java Basics - Anfänger-Themen 7
P Anzahl der else if Operatoren begrenzt?? Java Basics - Anfänger-Themen 7
C if else Abfrage Java Basics - Anfänger-Themen 11
T Umschreiben von switch in if else und umgekehrt Java Basics - Anfänger-Themen 9
C Schleifen, if, else......? Java Basics - Anfänger-Themen 8
2 if und else Java Basics - Anfänger-Themen 9
L If/else nicht korrekt ausgeführt. Java Basics - Anfänger-Themen 22
E Verschachtelte If-Anweisungen - "else without if" Java Basics - Anfänger-Themen 4
S Brauche Hilfe bei if/else Java Basics - Anfänger-Themen 3
S if-else Java Basics - Anfänger-Themen 22
N If-else-If Leiter Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben