if - else Abfrage beenden

Dieses Thema if - else Abfrage beenden im Forum "Allgemeine Java-Themen" wurde erstellt von marcoK, 20. Okt. 2009.

Status des Themas:
Es sind keine weiteren Antworten möglich.

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

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

    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!?:)
     
  2. Hinweis: KOSTENLOSE Java-Grundlagen DVD. Sichere dir hier den kostenlosen Zugriff auf 7 Stunden Video Java-Know How und starte richtig durch!
  3. was genau steht denn in der If-Klausel und wie sieht deine Schleife aus?
     
  4. Code (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;
        }
     
  5. 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?
     
  6. Code (Java):
    else {
                    nichtvorhandeneArtikel.put(artikelnummer, artikel);
     }//else beenden
    }//schleife beenden
    //Dialog anzeigen
                    JDialogArtikelNichtVorhanden dialog = new JDialogArtikelNichtVorhanden(null, true);
                    dialog.setText(artikelnummer);
                    dialog.fuelleListe(nichtvorhandeneArtikel);
               

     
     
  7. Kostenlose Java-Grundlagen DVD im Wert von 29,95 € heute kostenlos sichern (Klick)
Die Seite wird geladen...

if - else Abfrage beenden - Ähnliche Themen

Forum Datum
if - else Abfrage Java Basics - Anfänger-Themen 19. Feb. 2014
Stilistische Anwendung von if/else-Abfragen Java Basics - Anfänger-Themen 28. Aug. 2013
if else Abfrage Java Basics - Anfänger-Themen 6. Juli 2011
If-else Java Basics - Anfänger-Themen 21. Aug. 2016
Taschenrechner mit if-else Anweisung Java Basics - Anfänger-Themen 5. Aug. 2016
Status des Themas:
Es sind keine weiteren Antworten möglich.
Interessante Stellenangebote


Weitere Stellenanzeigen

Stellenanzeige Mediadaten