04. august 2003 - 23:00Der er
15 kommentarer og 1 løsning
spørgsmål om konventering
Kan man med en funktion sikre sig mod at det man indtaster i en prompt er et tal, og hvis det ikke er at man så få en besked om at det ikke er et tal man har indtastet? Hvordan vil den se ud?
Det er jo næsten samme teknik som i test1 i mit eksempel (han returnerer bare true/false ikke værdien - mit kode eksempel er en hastigheds test så det var for langsomt at konvertere strengen 2 gange - først for at teste - siden for at bruge værdien).
Den virker udmærket.
Hvis man er meget hastighed fikseret, så ville man bruge: Integer.parseInt(strTest); i stedetfor: new Integer(strTest);
Det er samme funktionalitet, den ene bruger bare en klasse constructor og den anden en statisk funktion, så de skal jo begge allokere plads til en integer.
Og så har den ene en bool til at smage med og den anden en int.
Og ja de virker begge!
Da jeg svarede havde jeg ikke set arne_v's svar! ;)
Jeg har prøvet at lave en funktion til dette nu, men funktionen retunere stadig 0 også selv om man har tastet rigtigt efter man har tastet forkert. Funktionen "læsLinie()" læser input fra tastaturet. -----------------
public int læsHelTal() { int tal = 0; String linie = læsLinie(); if (undersøgTal(linie)==true) { tal = Integer.parseInt(linie); } else { System.out.println("Forkert indtastning. Prøv igen"); læsHelTal(); } return tal;
public int læsHelTal() { int tal = 0; String linie = læsLinie(); if (undersøgTal(linie)==true) { tal = Integer.parseInt(linie); } else { System.out.println("Forkert indtastning. Prøv igen"); tal = læsHelTal(); } return tal; }
public int læsHelTal() { String linie = læsLinie(); while (!undersøgTal(linie)) { System.out.println("Forkert indtastning. Prøv igen"); linie = læsLinie(); } return Integer.parseInt(linie); }
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.