15. maj 2001 - 09:49Der er
5 kommentarer og 2 løsninger
Bare trykke \'enter\' og gå videre....
Vi har et kommandobaseret program hvor brugeren skal indtaste forskellige oplysninger. Men de oplysninger brugeren IKKE har nogle oplysninger til skal han bare kunne trykke \'enter\' og gå videre til næste indtastning. Eksempel herunder:
System.out.print(\"Indtast alder: \");
//venter på indtastning fra bruger String alder = Tastatur.readString ();
System.out.print(\"Indtast andre oplysninger: \");
//venter på indtastning fra bruger String andet = Tastatur.readString ();
Hvis brugeren ikke vil indtaste alder skal han bare kunne trykke \'enter\' og komme til næste spørgsmål. (Alder bliver jo så bare null)
Tastaturklassen ser sådan ud:
public class Tastatur{
/** Metoden indlæser en linje og returnerer den som en streng. */
public static String readString(){ String s = \"\"; try{ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); s = in.readLine(); } catch(IOException e){ System.out.println(\"Noget gik galt under indlaesning af denne streng fra tastaturet: \" + e); } return s; } }
disky>> Man kan ikke bare læse et tastetryk en efter en med de FileDescriptors, som eksempelvis Sun har leveret, da den først afleverer data, når man taster return.
Jeg har prøvet så mange gange at omgåes det, men...
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.