22. marts 2003 - 17:03
Der er
16 kommentarer og 1 løsning
betingelser i en if-sætning
Hvad er der galt med mine betingelser i denne if-sætning? if (kortnr.length() > 1 && < 8 && > 8) { JOptionPane.showMessageDialog(null, "Ugyldigt årskortnr"); }
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
r9
Nybegynder
22. marts 2003 - 17:06
#1
prøv: if ((kortnr.length() > 1) && (kortnr.length() < 8) && (kortnr.length() > 8)) { JOptionPane.showMessageDialog(null, "Ugyldigt årskortnr"); }
22. marts 2003 - 17:07
#2
if (kortnr.length() != 8) { JOptionPane.showMessageDialog(null, "Ugyldigt årskortnr"); }
22. marts 2003 - 17:08
#3
Men du mener nok if (kortnr.length() != 8) {
r9
Nybegynder
22. marts 2003 - 17:08
#4
men kortnr.length() kan jo ikke både være mindre end 8 og større end 8!!
22. marts 2003 - 17:09
#5
henni80> Din version er ikke syntax mæssigt korrekt. Det er: (variabel sammenligning værdi) && (variabel sammenligning værdi)
22. marts 2003 - 17:10
#6
r9> if ((kortnr.length() > 1) && (kortnr.length() < 8) && (kortnr.length() > 8)) { er syntax mæssig korrekt men vil aldrig være sand.
r9
Nybegynder
22. marts 2003 - 17:10
#7
netop
22. marts 2003 - 17:12
#8
Hvis det endelig skulle laves som en dobbelt sammenligning ville det være: if ((kortnr.length() < 8) || (kortnr.length() > 8)) {
22. marts 2003 - 17:14
#9
ok - kigger lige på det
r9
Nybegynder
22. marts 2003 - 17:15
#10
henni80 har nok bare byttet rundt på AND og OR
22. marts 2003 - 17:19
#11
Jeg smider lige lidt kode for at forklare hvad jeg gerne vil. ----------------- while (kortnrInput.length() == 8) { if (kortnrInput.length() == 8) { elever.add(kortnrInput); kortnrInput = JOptionPane.showInputDialog("Indtast elevens årskortnr"); } if (kortnrInput.length() > 1 && < 8 && > 8) { JOptionPane.showMessageDialog(null, "Ugyldigt årskortnr"); } if (kortnrInput.length() ==1) { Collections.sort(elever); JOptionPane.showMessageDialog( null, "Følgende elever er bestået: \n" + elever); } ------------- Det jeg gerne vil er: 1. når der er indtastet et kortnr på 8 karakter så skal man kunne indtaste endnu et 2. hvis man indtaster 1 karakter skal en resultat vises 3. hvis man taster 2-7 karakter eller over 8 skal det give en fejlmeddelse. Derfor tror jeg ikke at jeg bare kan bruge !=8 for så dur 1 jo pludselig ikke...
22. marts 2003 - 17:20
#12
og så er det disse sætninger det drejer sig om: if (kortnrInput.length() > 1 && < 8 && > 8) { JOptionPane.showMessageDialog(null, "Ugyldigt årskortnr"); }
22. marts 2003 - 17:28
#13
har skrevet således i stedet: if ((kortnrInput.length() > 1) && (kortnrInput.length() < 8) || (kortnrInput.length() > 8)) { JOptionPane.showMessageDialog(null, "Ugyldigt årskortnr"); } - lige endnu et spg. når jeg indtaster et ugyldigt kortnr så får jeg en fejlmeddelse hvilket er 10/4 men hvis man så skal have mulighed for at indtaste nogle flere kortnr, hvad skal jeg så gøre?
22. marts 2003 - 17:38
#14
if ((kortnrInput.length() > 1) && ((kortnrInput.length() < 8) || (kortnrInput.length() > 8))) { ...hvis du vil gøre det sådan
22. marts 2003 - 17:53
#15
Hvad med: boolean more = true; while(more) { kortnrInput = JOptionPane.showInputDialog("Indtast elevens årskortnr"); int l = kortnrInput.length(); if(l == 1) { Collections.sort(elever); JOptionPane.showMessageDialog(null, "Følgende elever er bestået: \n" + elever); more = false; } else if(l == 8) { elever.add(kortnrInput); } else { JOptionPane.showMessageDialog(null, "Ugyldigt årskortnr"); } }
22. marts 2003 - 17:58
#16
Jeg gættede på at 1 betød exit.
23. marts 2003 - 13:11
#17
Tak for hjælpen
Kurser inden for grundlæggende programmering