if - else Abfrage beenden

Status
Nicht offen für weitere Antworten.

marcoK

Mitglied
Hallo, und zwar ich habe eine abfrage, bei der der if-Zweig funktioniert nur beim else hänge ich, hier der Code:

Java:
} else {
                nichtvorhandeneArtikel.put(artikelnummer, artikel);

                JDialogArtikelNichtVorhanden dialog = new JDialogArtikelNichtVorhanden(null, true);
                dialog.setText(artikelnummer);
                dialog.fuelleListe(nichtvorhandeneArtikel);
            }

nun zum Problem.
und zwar es läuft eine Schleife herum, die erst alle Artikel in die "nichtvorhandeneArtikel" speichern soll und dann am ende der schleife erst den Dialog ausführt??

Aber nur beim else Zweig, beim if nicht!!

hoffe ihr könnt mir helfen!?:)
 
U

Unregistriert

Gast
Java:
static private artikelHashtable ueberpruefeArtikelExcelZurichtung(String kundennummer, HSSFWorkbook wbDBZur07) {
        Vector<Artikel> v = alleKunden.get(kundennummer).gekaufteArtikelZurichtung;
        Hashtable alleArtikelExcel = artikelExcelZurichtung(wbDBZur07);

        Hashtable vorhandeneArtikel = new Hashtable();
        Hashtable nichtvorhandeneArtikel = new Hashtable();
        Enumeration el = v.elements();

        while (el.hasMoreElements()) {
            Artikel artikel = (Artikel) el.nextElement();
            String artikelnummer = artikel.getArtikelnummer();

            if (alleArtikelExcel.containsKey(artikelnummer)) {
                HSSFSheet sheetKostenLS = wbDBZur07.getSheet("Kosten LS");
                HSSFSheet sheetKostenFM = wbDBZur07.getSheet("Kosten FM");
                HSSFSheet sheetKostenZU = wbDBZur07.getSheet("Kosten ZU");

                if (sheetKostenLS == null) {
                    System.out.println("Sheet in der Exceldatei nicht vorhanden!");
                    System.exit(0);
                } else {
                    for (int i = 2; i != sheetKostenLS.getLastRowNum(); i++) {
                        HSSFRow rowKostenLS = sheetKostenLS.getRow(i);
                        HSSFRow rowKostenFM = sheetKostenFM.getRow(i);
                        HSSFRow rowKostenZU = sheetKostenZU.getRow(i);

                        if (rowKostenLS != null) {
                            HSSFCell cellKostenLS = rowKostenLS.getCell((int) 5);
                            if (cellKostenLS != null) {
                                if (cellKostenLS.getCellType() != HSSFCell.CELL_TYPE_FORMULA) {
                                    String type = "";
                                    type = (cellKostenLS.getCellType() == HSSFCell.CELL_TYPE_BLANK) ? "CELL_TYPE_BLANK" : type;
                                    type = (cellKostenLS.getCellType() == HSSFCell.CELL_TYPE_BOOLEAN) ? "CELL_TYPE_BOOLEAN" : type;
                                    type = (cellKostenLS.getCellType() == HSSFCell.CELL_TYPE_ERROR) ? "CELL_TYPE_ERROR" : type;
                                    type = (cellKostenLS.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) ? "CELL_TYPE_NUMERIC" : type;
                                    type = (cellKostenLS.getCellType() == HSSFCell.CELL_TYPE_STRING) ? "CELL_TYPE_STRING" : type;
                                    setFehlermeldungDatentyp(type);
                                    System.exit(0);
                                } else {
                                    HSSFRichTextString artikelnum = cellKostenLS.getRichStringCellValue();
                                    if (artikel.getArtikelnummer().equals(artikelnum.toString())) {
                                        //Informationen zum Artikel
                                        artikel.setRezept((int) rowKostenLS.getCell((int) 3).getNumericCellValue());
                                        artikel.setTraeger((int) rowKostenLS.getCell((int) 4).getNumericCellValue());
                                        artikel.setPreisgruppe(rowKostenLS.getCell((int) 1).getRichStringCellValue().toString());
                                        artikel.setIdentifikation(rowKostenLS.getCell((int) 2).getRichStringCellValue().toString());
                                        artikel.setStaerke(rowKostenLS.getCell((int) 0).getRichStringCellValue().toString().substring(4, 7));
                                        double ausschussRW = rowKostenLS.getCell((int) 9).getNumericCellValue();
                                        BigDecimal ausschussRohware = BigDecimal.valueOf(ausschussRW);
                                        artikel.setAusschussRohware(ausschussRohware);
                                        double ausschussZU = rowKostenLS.getCell((int) 8).getNumericCellValue();
                                        BigDecimal ausschussZurichtung = BigDecimal.valueOf(ausschussZU);
                                        artikel.setAusschussZurichtung(ausschussZurichtung);
                                        //Kosten LS
                                        double latexkg = rowKostenLS.getCell((int) 10).getNumericCellValue();
                                        BigDecimal latex = BigDecimal.valueOf(latexkg);
                                        artikel.setLatexkg(latex);
                                        double fmlskg = rowKostenLS.getCell((int) 11).getNumericCellValue();
                                        BigDecimal fmls = BigDecimal.valueOf(fmlskg);
                                        artikel.setFertigungsmaterialLSkg(fmls);
                                        double gaskg = rowKostenLS.getCell((int) 12).getNumericCellValue();
                                        BigDecimal gas = BigDecimal.valueOf(gaskg);
                                        artikel.setGasLSkg(gas);
                                        double stromkg = rowKostenLS.getCell((int) 13).getNumericCellValue();
                                        BigDecimal strom = BigDecimal.valueOf(stromkg);
                                        artikel.setStromLSkg(strom);
                                        double instandhaltungkg = rowKostenLS.getCell((int) 14).getNumericCellValue();
                                        BigDecimal instandhaltung = BigDecimal.valueOf(instandhaltungkg);
                                        artikel.setInstandhaltungLSkg(instandhaltung);
                                        double personalkostenkg = rowKostenLS.getCell((int) 15).getNumericCellValue();
                                        BigDecimal personalkosten = BigDecimal.valueOf(personalkostenkg);
                                        artikel.setPersonalkostenLSkg(personalkosten);
                                        double fklskg = rowKostenLS.getCell((int) 16).getNumericCellValue();
                                        BigDecimal fkls = BigDecimal.valueOf(fklskg);
                                        artikel.setFKLSkg(fkls);

                                        //Kosten FM
                                        double satinierenkg = rowKostenFM.getCell((int) 9).getNumericCellValue();
                                        BigDecimal satinieren = BigDecimal.valueOf(satinierenkg);
                                        artikel.setSatinierenkg(satinieren);
                                        double glasenkg = rowKostenFM.getCell((int) 10).getNumericCellValue();
                                        BigDecimal glasen = BigDecimal.valueOf(glasenkg);
                                        artikel.setGlasenkg(glasen);
                                        double stollenkg = rowKostenFM.getCell((int) 11).getNumericCellValue();
                                        BigDecimal stollen = BigDecimal.valueOf(stollenkg);
                                        artikel.setStollenkg(stollen);
                                        double konfektionierenkg = rowKostenFM.getCell((int) 12).getNumericCellValue();
                                        BigDecimal konfektionieren = BigDecimal.valueOf(konfektionierenkg);
                                        artikel.setKonfektionierenkg(konfektionieren);

                                        //Kosten ZU
                                        double praegenqm = rowKostenZU.getCell((int) 7).getNumericCellValue();
                                        BigDecimal praegen = BigDecimal.valueOf(praegenqm);
                                        artikel.setPraegenqm(praegen);
                                        double beschichtenqm = rowKostenZU.getCell((int) 8).getNumericCellValue();
                                        BigDecimal beschichten = BigDecimal.valueOf(beschichtenqm);
                                        artikel.setBeschichtenqm(beschichten);
                                        double druckenLackierenqm = rowKostenZU.getCell((int) 9).getNumericCellValue();
                                        BigDecimal druckenLackieren = BigDecimal.valueOf(druckenLackierenqm);
                                        artikel.setDruckenLackierenqm(druckenLackieren);
                                        double fmzuqm = rowKostenZU.getCell((int) 11).getNumericCellValue();
                                        BigDecimal fmzu = BigDecimal.valueOf(fmzuqm);
                                        artikel.setFertigungsmaterialZUqm(fmzu);
                                        BigDecimal vtvw = new BigDecimal(15.6962339282625);
                                        BigDecimal qs = new BigDecimal(1.17751640665183);
                                        artikel.setVertriebVerwaltungProzent(vtvw);
                                        artikel.setQsEntwicklungProzent(qs);
                                        break;
                                    }
                                }
                            }
                        }
                    }
                }

                vorhandeneArtikel.put(artikelnummer, artikel);

            } else {
                nichtvorhandeneArtikel.put(artikelnummer, artikel);
                
                JDialogArtikelNichtVorhanden dialog = new JDialogArtikelNichtVorhanden(null, true);
                dialog.setText(artikelnummer);
                dialog.fuelleListe(nichtvorhandeneArtikel);
  
                }

        }
        artikelHashtable ah = new artikelHashtable(vorhandeneArtikel, nichtvorhandeneArtikel);

        return ah;
    }
 

javimka

Top Contributor
Ja wunderschön!
Also ich tippe darauf, dass deine If-Klausel einfach bei jedem Durchgang true ergibt. So wird der else Teil natürlich nie ausgeführt. Du kannst ja einmal System.out.println("huhu, ich bin im else-Zweig") in den else-Zweig schreiben und testen, ob das Programm überhaupt jemals dahin kommt.
Möglicherweise wird auch eine Exception ausgelöst, die du irgendwo abfängst, aber nicht ausgibst. Wird diese methode denn ganz sicher bis zum Ende ausgeführt?
 
J

JohannisderKaeufer

Gast
Java:
else {
                nichtvorhandeneArtikel.put(artikelnummer, artikel);
 }//else beenden
}//schleife beenden
//Dialog anzeigen
                JDialogArtikelNichtVorhanden dialog = new JDialogArtikelNichtVorhanden(null, true);
                dialog.setText(artikelnummer);
                dialog.fuelleListe(nichtvorhandeneArtikel);
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Mehrfache if-else-Abfrage zusammenfassen Allgemeine Java-Themen 51
ReinerCoder Case statt if else Abfragen?! Allgemeine Java-Themen 8
M Variablen If - Else Wiederholungsfehler Allgemeine Java-Themen 3
L Vererbung If-Else ersetzen durch was? Allgemeine Java-Themen 20
O Darstellung von else if anweisung im struktogramm? Allgemeine Java-Themen 1
R Wie schaffe ich es, dass java zB 100 zählt ohne ständig "else if" hinschreiben zu müssen? Allgemeine Java-Themen 7
J if else Anweisung macht nicht was es soll. Wieso? Allgemeine Java-Themen 10
K Eclipse Alternativkonstrukte (Verzweigungen: if, switch,else..) Allgemeine Java-Themen 4
D if - else Baum vereinfachen Allgemeine Java-Themen 4
S Else-Anweisung Problem Allgemeine Java-Themen 17
B Berechnung von Punkten/ If-else Strategie?! Allgemeine Java-Themen 51
M if, else, etc. als Membervariablen? Allgemeine Java-Themen 14
P if(a) else if (b) else if (c) . Frage Allgemeine Java-Themen 2
G die mittlere von 5 Zahlen nur mit if und else finden Allgemeine Java-Themen 48
U Kompilieren einer großen Datei if-else = StackOverflowError Allgemeine Java-Themen 4
W kompliziertes Konstrukt von Schleifen/If/else. Rekursion? Allgemeine Java-Themen 22
G switch case VS. if.else if Allgemeine Java-Themen 2
H if - else if-else bessere Lösung gesucht Allgemeine Java-Themen 4
H If anweisungen zu verschachtelt? else without if Allgemeine Java-Themen 8
D Performancefrage zu "else if" und "||" Allgemeine Java-Themen 10
G if . else ? Allgemeine Java-Themen 36
B Wie erstelle ich dazu eine Abfrage ob der Button gedrückt wurde? Allgemeine Java-Themen 8
L 2 Dimensionale ListArray Abfrage nach einem Wert suchen Allgemeine Java-Themen 5
I Wie kann ich den Wert aus einer If abfrage ausgeben Allgemeine Java-Themen 23
Zeppi NullPointerException in einer if-Abfrage Allgemeine Java-Themen 6
1Raini Java if-Abfrage funktioniert nicht! Allgemeine Java-Themen 3
tom.j85 Exception bei Abfrage von Ländercodes in API? Allgemeine Java-Themen 13
T Fehler bei IF abfrage Allgemeine Java-Themen 8
D Mehrdimensionale Abfrage Allgemeine Java-Themen 15
MiMa If-Abfrage mit Parameter Allgemeine Java-Themen 8
kodela Binäre Abfrage Allgemeine Java-Themen 12
D MAC Adressen Abfrage Allgemeine Java-Themen 5
J Problem bei Hashmap Key-Abfrage Allgemeine Java-Themen 4
B Swing Hilfe bei Abfrage von Benutzernamen und Passwort Allgemeine Java-Themen 2
J If Abfrage funktioniert nicht Allgemeine Java-Themen 4
B Java Abfrage Netzbetrieb oder Akkubetrieb Allgemeine Java-Themen 1
T Login-Abfrage Allgemeine Java-Themen 3
T Login mit LDAP-Abfrage Allgemeine Java-Themen 3
M Event Handling Tastatur abfrage Allgemeine Java-Themen 5
2 If-Abfrage um Uhrzeit einzuordnen Allgemeine Java-Themen 2
F Java ip abfrage mit Dateiausgabe ? Allgemeine Java-Themen 2
V Java Editor Problem mit ! bei if-Abfrage Allgemeine Java-Themen 5
N Schlüsselworte if abfrage ob linke oder rechte maustaste gedrückt ist Allgemeine Java-Themen 5
H args abfrage vereinfachen Allgemeine Java-Themen 7
P Tastatur abfrage ohne KeyListener Allgemeine Java-Themen 3
E Methoden Server Benutzer abfrage Allgemeine Java-Themen 2
D Internet Abfrage aber mit Warteschleife Allgemeine Java-Themen 6
B Kapselung if-Abfrage bei "MVC-verteilten" Listenern Allgemeine Java-Themen 5
R JNI if abfrage gibt immer false zurück. Allgemeine Java-Themen 7
S if-Abfrage Allgemeine Java-Themen 5
T Wiederholte Abfrage? Allgemeine Java-Themen 5
B abfrage ob file ausgeführt wurde Allgemeine Java-Themen 4
Z Boolean Abfrage gibt kein Boolean zurück, aber warum? Allgemeine Java-Themen 6
P Google Abfrage auslesen Allgemeine Java-Themen 2
MQue Performance Methodenaufruf - if Abfrage Allgemeine Java-Themen 19
W ICQ Status Abfrage mit Java Allgemeine Java-Themen 3
MQue if- Abfrage Allgemeine Java-Themen 4
B Abfrage ob JRE installiert ist, JAR automatisch starten Allgemeine Java-Themen 5
MQue if Abfrage Allgemeine Java-Themen 27
MQue if- Abfrage Allgemeine Java-Themen 26
C Versionsstring Abfrage Allgemeine Java-Themen 7
G Tastatur abfrage Allgemeine Java-Themen 8
D Doppeltverschachtelte if-Abfrage Allgemeine Java-Themen 10
Z mit java htaccess - abfrage bestätigen/umgehen Allgemeine Java-Themen 2
U if Abfrage macht etwas falsch Allgemeine Java-Themen 2
G Problem mit if-Abfrage bei Benutzeingabe Allgemeine Java-Themen 2
P Java Acces Datenbank Problem ! (Brauche eine Abfrage) Allgemeine Java-Themen 5
K Abfrage ob JRE oder JDK auf System installiert ist. Allgemeine Java-Themen 12
T IF Abfrage + YES_NO Option mittels JOptionPane Allgemeine Java-Themen 3
U IF-Abfrage Allgemeine Java-Themen 17
H Java-Abfrage Allgemeine Java-Themen 9
A FileChooser Datei-Überschreiben Abfrage Allgemeine Java-Themen 2
F Java Passwort abfrage Allgemeine Java-Themen 2
S CDDB-Abfrage mit Java unter Linux? Allgemeine Java-Themen 4
L Datenbank Abfrage (Felder&Tabelle nicht fix) in ArrayLis Allgemeine Java-Themen 4
S Integer-splitten für Abfrage. Allgemeine Java-Themen 4
G Abfrage in datenbank Allgemeine Java-Themen 5
O Input/Output java.io.File beenden Allgemeine Java-Themen 5
OSchriever Externe Anwendung beenden Allgemeine Java-Themen 41
I Threads AudioInputStream separat starten und beenden; parallel programming Allgemeine Java-Themen 2
T Parallelstream vorzeitig beenden Allgemeine Java-Themen 0
S Thread beenden Allgemeine Java-Themen 9
L Prozess automatisch beenden Allgemeine Java-Themen 8
J Druckvorgang mit Java beenden (Open Office) Allgemeine Java-Themen 3
T Java Programm sauber beenden (Mac OS) Allgemeine Java-Themen 7
stylegangsta Programmablauf von vorne beginnen und manuell beenden Allgemeine Java-Themen 9
L Threads beenden Allgemeine Java-Themen 4
S Start des zweiten Threads erst nach Beenden des ersten Threads Allgemeine Java-Themen 13
U Thread beenden Allgemeine Java-Themen 3
Developer_X Java Programm Beenden Allgemeine Java-Themen 3
B Erkennen, wann Prozess beendet ist, dann Thread beenden. Allgemeine Java-Themen 6
D neuen Prozess starten und anwendung beenden. Allgemeine Java-Themen 3
A Applet Alle Threads beim schließen des Applets beenden Allgemeine Java-Themen 8
R Java Programm beenden mit SIGTERM Allgemeine Java-Themen 9
M Process wird gestoppt und nach beenden der Anwendung fortgeführt Allgemeine Java-Themen 4
H Anwendungen beenden Allgemeine Java-Themen 6
K Warum wartet diese Funktion auf beenden des Threads? Allgemeine Java-Themen 3
S Prozess der von anderem Prozess gestartet wurde beenden? (Windows Bildschirmtastatur) Allgemeine Java-Themen 4
T Update eines Programms - Beenden eines anderen Prozesses überwachen Allgemeine Java-Themen 8
S [THREADS] Thread sinnvoll beenden Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben