Avatar billede henni80 Nybegynder
20. marts 2003 - 16:22 Der er 11 kommentarer og
1 løsning

while løkke

Hej eksperter

Jeg sidder i øjeblikket med dette stykke kode:

----------------------------------------------

ArrayList elever = new ArrayList();
        String kortnrInput =
            JOptionPane.showInputDialog("Indtast Aarskortnr på eleven");
        int nr = Integer.parseInt(kortnrInput);

        while (kortnrInput.length() ==8) {

            elever.add(kortnrInput);
            kortnrInput =
                JOptionPane.showInputDialog("Indtast Aarskortnr på eleven");
                JOptionPane.showMessageDialog(null, "Ugyldigt Aarskortnr");
       
        }

--------------------------------

Altså en while løkke der tester på om man indtaster et nr på 8 cifre eller ej. Taster man et på 8 får man lov til at indtaste endnu et men taster man eks. kun 3 så får man at vide at det er ugyldigt.

Her er mit spg. er så hvordan får jeg programmet til at give mig lov til at indtaste flere numre efter et ugyldigt nr?
Avatar billede henni80 Nybegynder
20. marts 2003 - 16:25 #1
Sorry koden ser således ud.....


ArrayList elever = new ArrayList();
        String kortnrInput =
            JOptionPane.showInputDialog("Indtast Aarskortnr på eleven");
        int nr = Integer.parseInt(kortnrInput);

        while (kortnrInput.length() ==8) {

            elever.add(kortnrInput);
            kortnrInput =
                JOptionPane.showInputDialog("Indtast Aarskortnr på eleven");
                       
        }

   

        {
            JOptionPane.showMessageDialog(null, "Ugyldigt Aarskortnr");
        }

    }
Avatar billede arne_v Ekspert
20. marts 2003 - 16:28 #2
String kortnrInput;
do {
    kortnrInput = JOptionPane.showInputDialog("Indtast Aarskortnr på eleven");
while (kortnrInput.length() != 8);
int nr = Integer.parseInt(kortnrInput);
elever.add(kortnrInput);
Avatar billede arne_v Ekspert
20. marts 2003 - 16:29 #3
ser umiddelbart fornuftigt ud i forhold til dit ønske.
Avatar billede arne_v Ekspert
20. marts 2003 - 16:30 #4
Ja OK hvis du vil have en forskellig tekst første gang of efter fejl
skal det vel være:

String kortnrInput = JOptionPane.showInputDialog("Indtast Aarskortnr på eleven");
;
while (kortnrInput.length() != 8);
    kortnrInput = JOptionPane.showInputDialog("fejl - indtast Aarskortnr på eleven");
}
int nr = Integer.parseInt(kortnrInput);
elever.add(kortnrInput);
Avatar billede arne_v Ekspert
20. marts 2003 - 16:31 #5
String kortnrInput = JOptionPane.showInputDialog("Indtast Aarskortnr på eleven");
while (kortnrInput.length() != 8);
    kortnrInput = JOptionPane.showInputDialog("fejl - indtast Aarskortnr på eleven");
}
int nr = Integer.parseInt(kortnrInput);
elever.add(kortnrInput);
Avatar billede arne_v Ekspert
20. marts 2003 - 16:32 #6
Principielt bør du også teste for om de 8 tegn alle er tal !
Avatar billede henni80 Nybegynder
20. marts 2003 - 16:46 #7
Når man har kørt denne sætning (altså den sidste):
JOptionPane.showMessageDialog(null, "Ugyldigt Aarskortnr");
Kan man så ikke springe tilbage til while løkke som intet var sket - og taste videre? altså en slags kald.
Avatar billede arne_v Ekspert
20. marts 2003 - 16:57 #8
Måske noget i retning af:

String kortnrInput = JOptionPane.showInputDialog("Indtast Aarskortnr på eleven");
while (kortnrInput.length() != 8);
    JOptionPane.showMessageDialog(null, "Ugyldigt Aarskortnr");
    kortnrInput = JOptionPane.showInputDialog("indtast Aarskortnr på eleven");
}
int nr = Integer.parseInt(kortnrInput);
elever.add(kortnrInput);

Jeg kan bare ikke umiddelbart se pointen i det.
Avatar billede henni80 Nybegynder
20. marts 2003 - 17:33 #9
Jeg vil gerne kunne indtaste numre efter at et ugyldigt nr er blevet tastet ind. Og skulle det så vise sig at der igen lidt senere bliver tastet et ugyldigt nr ind, så skal man bare have det at vide med en fejlmeddelse, og så have mulighed for at kunne taste flere numre ind igen.

ved ikke rigtig om det er forklaret klart nok....
Avatar billede arne_v Ekspert
21. marts 2003 - 22:44 #10
Sidste forslag burde virke som du ønsker.
Avatar billede arne_v Ekspert
26. marts 2003 - 19:46 #11
Virker det ?
Avatar billede henni80 Nybegynder
23. april 2003 - 10:03 #12
SORRY - jeg havde helt glemt spørgsmålet igen. Jo det virker :) tak tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester