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
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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