Java-Forum.org  

Zurück   Java-Forum.org > Java - Programmierung > Allgemeine Java-Themen

Allgemeine Java-Themen: if - else Abfrage beenden

Allgemeine Themen, die nicht in andere Fachforen und nicht zu den Java Basics passen

Thema geschlossen    
Themen-Optionen Thema durchsuchen Ansicht
Alt 20.10.2009, 13:53   #1
marcoK
 
if - else Abfrage beenden - Standard 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:

Java Code: Quelltext in neuem Fenster öffnen
  1. } else {
  2.                 nichtvorhandeneArtikel.put(artikelnummer, artikel);
  3.  
  4.                 JDialogArtikelNichtVorhanden dialog = new JDialogArtikelNichtVorhanden(null, true);
  5.                 dialog.setText(artikelnummer);
  6.                 dialog.fuelleListe(nichtvorhandeneArtikel);
  7.             }

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!?
 

 
Anzeige
 

AW: if - else Abfrage beenden



 
Alt 20.10.2009, 13:55   #2
javimka
 
if - else Abfrage beenden - Standard AW: if - else Abfrage beenden

was genau steht denn in der If-Klausel und wie sieht deine Schleife aus?
 
Alt 20.10.2009, 13:57   #3
 
if - else Abfrage beenden - Standard da ist der code der ganzen Methode

Java Code: Quelltext in neuem Fenster öffnen
  1. static private artikelHashtable ueberpruefeArtikelExcelZurichtung(String kundennummer, HSSFWorkbook wbDBZur07) {
  2.         Vector<Artikel> v = alleKunden.get(kundennummer).gekaufteArtikelZurichtung;
  3.         Hashtable alleArtikelExcel = artikelExcelZurichtung(wbDBZur07);
  4.  
  5.         Hashtable vorhandeneArtikel = new Hashtable();
  6.         Hashtable nichtvorhandeneArtikel = new Hashtable();
  7.         Enumeration el = v.elements();
  8.  
  9.         while (el.hasMoreElements()) {
  10.             Artikel artikel = (Artikel) el.nextElement();
  11.             String artikelnummer = artikel.getArtikelnummer();
  12.  
  13.             if (alleArtikelExcel.containsKey(artikelnummer)) {
  14.                 HSSFSheet sheetKostenLS = wbDBZur07.getSheet("Kosten LS");
  15.                 HSSFSheet sheetKostenFM = wbDBZur07.getSheet("Kosten FM");
  16.                 HSSFSheet sheetKostenZU = wbDBZur07.getSheet("Kosten ZU");
  17.  
  18.                 if (sheetKostenLS == null) {
  19.                     System.out.println("Sheet in der Exceldatei nicht vorhanden!");
  20.                     System.exit(0);
  21.                 } else {
  22.                     for (int i = 2; i != sheetKostenLS.getLastRowNum(); i++) {
  23.                         HSSFRow rowKostenLS = sheetKostenLS.getRow(i);
  24.                         HSSFRow rowKostenFM = sheetKostenFM.getRow(i);
  25.                         HSSFRow rowKostenZU = sheetKostenZU.getRow(i);
  26.  
  27.                         if (rowKostenLS != null) {
  28.                             HSSFCell cellKostenLS = rowKostenLS.getCell((int) 5);
  29.                             if (cellKostenLS != null) {
  30.                                 if (cellKostenLS.getCellType() != HSSFCell.CELL_TYPE_FORMULA) {
  31.                                     String type = "";
  32.                                     type = (cellKostenLS.getCellType() == HSSFCell.CELL_TYPE_BLANK) ? "CELL_TYPE_BLANK" : type;
  33.                                     type = (cellKostenLS.getCellType() == HSSFCell.CELL_TYPE_BOOLEAN) ? "CELL_TYPE_BOOLEAN" : type;
  34.                                     type = (cellKostenLS.getCellType() == HSSFCell.CELL_TYPE_ERROR) ? "CELL_TYPE_ERROR" : type;
  35.                                     type = (cellKostenLS.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) ? "CELL_TYPE_NUMERIC" : type;
  36.                                     type = (cellKostenLS.getCellType() == HSSFCell.CELL_TYPE_STRING) ? "CELL_TYPE_STRING" : type;
  37.                                     setFehlermeldungDatentyp(type);
  38.                                     System.exit(0);
  39.                                 } else {
  40.                                     HSSFRichTextString artikelnum = cellKostenLS.getRichStringCellValue();
  41.                                     if (artikel.getArtikelnummer().equals(artikelnum.toString())) {
  42.                                         //Informationen zum Artikel
  43.                                         artikel.setRezept((int) rowKostenLS.getCell((int) 3).getNumericCellValue());
  44.                                         artikel.setTraeger((int) rowKostenLS.getCell((int) 4).getNumericCellValue());
  45.                                         artikel.setPreisgruppe(rowKostenLS.getCell((int) 1).getRichStringCellValue().toString());
  46.                                         artikel.setIdentifikation(rowKostenLS.getCell((int) 2).getRichStringCellValue().toString());
  47.                                         artikel.setStaerke(rowKostenLS.getCell((int) 0).getRichStringCellValue().toString().substring(4, 7));
  48.                                         double ausschussRW = rowKostenLS.getCell((int) 9).getNumericCellValue();
  49.                                         BigDecimal ausschussRohware = BigDecimal.valueOf(ausschussRW);
  50.                                         artikel.setAusschussRohware(ausschussRohware);
  51.                                         double ausschussZU = rowKostenLS.getCell((int) 8).getNumericCellValue();
  52.                                         BigDecimal ausschussZurichtung = BigDecimal.valueOf(ausschussZU);
  53.                                         artikel.setAusschussZurichtung(ausschussZurichtung);
  54.                                         //Kosten LS
  55.                                         double latexkg = rowKostenLS.getCell((int) 10).getNumericCellValue();
  56.                                         BigDecimal latex = BigDecimal.valueOf(latexkg);
  57.                                         artikel.setLatexkg(latex);
  58.                                         double fmlskg = rowKostenLS.getCell((int) 11).getNumericCellValue();
  59.                                         BigDecimal fmls = BigDecimal.valueOf(fmlskg);
  60.                                         artikel.setFertigungsmaterialLSkg(fmls);
  61.                                         double gaskg = rowKostenLS.getCell((int) 12).getNumericCellValue();
  62.                                         BigDecimal gas = BigDecimal.valueOf(gaskg);
  63.                                         artikel.setGasLSkg(gas);
  64.                                         double stromkg = rowKostenLS.getCell((int) 13).getNumericCellValue();
  65.                                         BigDecimal strom = BigDecimal.valueOf(stromkg);
  66.                                         artikel.setStromLSkg(strom);
  67.                                         double instandhaltungkg = rowKostenLS.getCell((int) 14).getNumericCellValue();
  68.                                         BigDecimal instandhaltung = BigDecimal.valueOf(instandhaltungkg);
  69.                                         artikel.setInstandhaltungLSkg(instandhaltung);
  70.                                         double personalkostenkg = rowKostenLS.getCell((int) 15).getNumericCellValue();
  71.                                         BigDecimal personalkosten = BigDecimal.valueOf(personalkostenkg);
  72.                                         artikel.setPersonalkostenLSkg(personalkosten);
  73.                                         double fklskg = rowKostenLS.getCell((int) 16).getNumericCellValue();
  74.                                         BigDecimal fkls = BigDecimal.valueOf(fklskg);
  75.                                         artikel.setFKLSkg(fkls);
  76.  
  77.                                         //Kosten FM
  78.                                         double satinierenkg = rowKostenFM.getCell((int) 9).getNumericCellValue();
  79.                                         BigDecimal satinieren = BigDecimal.valueOf(satinierenkg);
  80.                                         artikel.setSatinierenkg(satinieren);
  81.                                         double glasenkg = rowKostenFM.getCell((int) 10).getNumericCellValue();
  82.                                         BigDecimal glasen = BigDecimal.valueOf(glasenkg);
  83.                                         artikel.setGlasenkg(glasen);
  84.                                         double stollenkg = rowKostenFM.getCell((int) 11).getNumericCellValue();
  85.                                         BigDecimal stollen = BigDecimal.valueOf(stollenkg);
  86.                                         artikel.setStollenkg(stollen);
  87.                                         double konfektionierenkg = rowKostenFM.getCell((int) 12).getNumericCellValue();
  88.                                         BigDecimal konfektionieren = BigDecimal.valueOf(konfektionierenkg);
  89.                                         artikel.setKonfektionierenkg(konfektionieren);
  90.  
  91.                                         //Kosten ZU
  92.                                         double praegenqm = rowKostenZU.getCell((int) 7).getNumericCellValue();
  93.                                         BigDecimal praegen = BigDecimal.valueOf(praegenqm);
  94.                                         artikel.setPraegenqm(praegen);
  95.                                         double beschichtenqm = rowKostenZU.getCell((int) 8).getNumericCellValue();
  96.                                         BigDecimal beschichten = BigDecimal.valueOf(beschichtenqm);
  97.                                         artikel.setBeschichtenqm(beschichten);
  98.                                         double druckenLackierenqm = rowKostenZU.getCell((int) 9).getNumericCellValue();
  99.                                         BigDecimal druckenLackieren = BigDecimal.valueOf(druckenLackierenqm);
  100.                                         artikel.setDruckenLackierenqm(druckenLackieren);
  101.                                         double fmzuqm = rowKostenZU.getCell((int) 11).getNumericCellValue();
  102.                                         BigDecimal fmzu = BigDecimal.valueOf(fmzuqm);
  103.                                         artikel.setFertigungsmaterialZUqm(fmzu);
  104.                                         BigDecimal vtvw = new BigDecimal(15.6962339282625);
  105.                                         BigDecimal qs = new BigDecimal(1.17751640665183);
  106.                                         artikel.setVertriebVerwaltungProzent(vtvw);
  107.                                         artikel.setQsEntwicklungProzent(qs);
  108.                                         break;
  109.                                     }
  110.                                 }
  111.                             }
  112.                         }
  113.                     }
  114.                 }
  115.  
  116.                 vorhandeneArtikel.put(artikelnummer, artikel);
  117.  
  118.             } else {
  119.                 nichtvorhandeneArtikel.put(artikelnummer, artikel);
  120.                
  121.                 JDialogArtikelNichtVorhanden dialog = new JDialogArtikelNichtVorhanden(null, true);
  122.                 dialog.setText(artikelnummer);
  123.                 dialog.fuelleListe(nichtvorhandeneArtikel);
  124.  
  125.                 }
  126.  
  127.         }
  128.         artikelHashtable ah = new artikelHashtable(vorhandeneArtikel, nichtvorhandeneArtikel);
  129.  
  130.         return ah;
  131.     }
 
Alt 20.10.2009, 14:04   #4
javimka
 
if - else Abfrage beenden - Standard AW: if - else Abfrage beenden

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?
 
Alt 20.10.2009, 15:29   #5
 
if - else Abfrage beenden - Standard AW: if - else Abfrage beenden

Java Code: Quelltext in neuem Fenster öffnen
  1. else {
  2.                 nichtvorhandeneArtikel.put(artikelnummer, artikel);
  3.  }//else beenden
  4. }//schleife beenden
  5. //Dialog anzeigen
  6.                 JDialogArtikelNichtVorhanden dialog = new JDialogArtikelNichtVorhanden(null, true);
  7.                 dialog.setText(artikelnummer);
  8.                 dialog.fuelleListe(nichtvorhandeneArtikel);
 
Thema geschlossen    

Zurück   Java-Forum.org > Java - Programmierung > Allgemeine Java-Themen

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Ähnliche Themen: if - else Abfrage beenden

Programm beenden über menueItem "Beenden"!
Programm beenden über menueItem "Beenden"!: Guten Abend Zusammen! Ich möchte gerne meine GUI über das MenueItem Beenden schließen! Leider bekomme ich das nicht hin und finde auch keine passende Lösung im Netz:(. Vielen Danke für Eure...
Applet beenden
Applet beenden: Hallo, ich bin dabei mir ein Applet zu schreiben welches Daten von einem Server holt diese dann als XML auf meinem Webspace speichert und dann JavaScript das Parsen übernimmt , jetzt möchte ich...
Faden beenden
Faden beenden: Hallo, wenn ich einen Thread erzeugt habe und diesen mit Thread#interrupt() beende, gibts dann das Objekt nicht mehr oder stoppe ich da nur den Thread, bzw. kann ich dann hergehen und mit...
Externes Programm beenden mit eigenem Programm beenden
Externes Programm beenden mit eigenem Programm beenden: Hi @ all, ich habe folgendes Problem. Ich habe ein Konsolenprogramm (nicht meins, kein java), dieses will ich mit (m)einem java programm beenden. Ich starte es nicht selber. Was ich von dem...
Beenden-Dialog mit "Beenden" und "Abbrechen&q
Beenden-Dialog mit "Beenden" und "Abbrechen&q: Hi Leute, ich habe einen Dialog zum Beenden meines Programms mit den beiden Buttons "Beenden" und "Abbrechen". Dieser Dialog wird aufgerufen, wenn man auf das X von dem Fenster klickt (im...




Sie betrachten gerade if - else Abfrage beenden