Jag har en combobox1 där jag lägger in data från databasen utifrån val som gjorts med radioknappar. Från denna combobox kan jag välja rader som jag lägger in i combobox2. Jag kan sedan hämta data från databasen och lägga in i combobox1 igen, men nu vill jag att endast data som inte finns i combobox2 skall läggas in i combobox1. Det är svårt att förklara, men så här har jag försökt fixa det i koden: Puh, det var mastigt. Ser ut att fattas nåt '}' Hmm... >if((rbtnDubbelRum.isSelected()!=false)&(rbtnRokare.isSelected()!=true)&(rbtnHandikapp.isSelected()!=true)){ Tjena..Logiskt fel i nästlad loop med if-sats?
<<java.util.Vector resultat=resDb.getRnr(Date.valueOf(tAnkDat.getText()), Date.valueOf(tAvrDat.getText()));
/*Om endast dubbelrum är valt*/
if((rbtnDubbelRum.isSelected()!=false)&(rbtnRokare.isSelected()!=true)&(rbtnHandikapp.isSelected()!=true)){
for(java.util.Iterator i=resultat.iterator(); i.hasNext();){
ReservationIn res=(ReservationIn)i.next();
String typ = "DR";
String koll=((String)res.getRumtyp());
if(koll.equals(typ)){ //Kolla vilka som är dubbelrum
String rad=" "+res.getRnr();
int n;
int k =cmbBoxRes.getItemCount();
for(n=0; n<k; n++){ //Kolla igenom combobox2
String kollaRum = cmbBoxRes.getItemAt(n).toString();
if(kollarum.equals(rad)) //Om strängarna är lika
i.next(); //Gå ur loopen och till nästa rad i recordsetet
}
/*Om strängarna inte är lika så*/
cboRum.addItem(rad);//Lägg till dem i comboboxen
}
}>>
Detta funkar dock inte. Jag är visserligen bara en amatör när det gäller java, men jag kan inte förstå vad det är jag gör fel. Kan någon hjälpa mig?Sv: Logiskt fel i nästlad loop med if-sats?
Vad exakt är det för felmeddelande du får när du kompilerar/kör?
Verkar vara lite ostabilt eftersom du använder strängvärden när du kollar om värdet finns i combobox2, men det kanske bara är unika strängar.
/JörgenSv: Logiskt fel i nästlad loop med if-sats?
Fast eftersom vi inte fått all kod så vet jag ju inte förstås.Sv: Logiskt fel i nästlad loop med if-sats?
om man kollar på denna rad:
if((rbtnDubbelRum.isSelected()!=false)&(rbtnRokare.isSelected()!=true)&(rbtnHandikapp.isSelected()!=true)){
Så skulle jag gissa att du vill ha && istället för & , eller?
Precis som i ditt föregående inlägg med radiobuttons.
Resten har jag inte gått igenom...
Peter. Sv: Logiskt fel i nästlad loop med if-sats?
>Så skulle jag gissa att du vill ha && istället för & , eller?
>Precis som i ditt föregående inlägg med radiobuttons.
Ska väl inte behövas eftersom: true & true & true = true
/JörgenSv: Logiskt fel i nästlad loop med if-sats?
>>Ska väl inte behövas eftersom: true & true & true = true
Visst stämmer det. :)
Grejen är att även om det första boolska uttrycket vare sig är false eller true så kommer dom två eftervarande ändå att valideras.
Om det är meningen med den if-satsten så är väl allt frid och fröjd.
/Peter.