-Logos- Skrevet 22. januar 2008 Skrevet 22. januar 2008 import java.util.Scanner; import java.io.*; public class Scantest { public static void main (String []args){ Scanner sc = new Scanner(System.in); System.out.print("Skriv inn tall: "); int i = sc.nextInt(); System.out.println(i); System.out.print("tekst: "); String j = sc.nextLine(); System.out.println(j); } } Output: $ java Scantest Skriv inn tall: 4 4 tekst: $ Jeg får ikke skrevet noe tekst under nextLine();
pgdx Skrevet 22. januar 2008 Skrevet 22. januar 2008 (endret) Har du lest dokumentasjonen? Scanner.nextLine() Det kan ofte være kjekt å lese gjennom Method summary. Der oppdager du nemlig en metode som heter next() som, i motsetning til nextLine(): Finds and returns the next complete token from this scanner. A complete token is preceded and followed by input that matches the delimiter pattern. This method may block while waiting for input to scan, even if a previous invocation of hasNext() returned true. Endret 22. januar 2008 av pgdx
-Logos- Skrevet 22. januar 2008 Forfatter Skrevet 22. januar 2008 next leser kun ett ord... ikke en rekke med ord...
ratata Skrevet 22. januar 2008 Skrevet 22. januar 2008 (endret) skriv nextLine to gonger, er noko greier med at bufferen ikkje vert tømd etter nextInt. skriv sc.nextLine(); String j = sc.nextLine(); Endret 23. januar 2008 av ratata
-Logos- Skrevet 23. januar 2008 Forfatter Skrevet 23. januar 2008 løste problemet... men jeg er ikke fornøyd... kan være en ide å tømme bufferen på annen måte først?
SuppeMannen Skrevet 23. januar 2008 Skrevet 23. januar 2008 Hva skal du bruke Scanner til? Input til programmene dine? Isåfall kan det være enklere å bruke BufferedReader
-Logos- Skrevet 23. januar 2008 Forfatter Skrevet 23. januar 2008 Tar skrittet vekk fra easyIO som blir brukt ved grunnkrusene på UiO... Ble annbefalt scanner som skulle være en enkel pakke som kom med nyeste Java som alternativ... Bruker det til innlesing fra terminal ja... Skal bruke scanner i neste Oblig også
ratata Skrevet 23. januar 2008 Skrevet 23. januar 2008 Det er vel strengt tatt berre fordi nextInt ikkje tek med heile linja, men berre ein evt. int... difor må ein ta med nextLine for å byte linje. Du kan jo evt. smi ein eigen klasse dersom du er misfornøyd...
aC Skrevet 23. januar 2008 Skrevet 23. januar 2008 Er ikke værre en å lage to scanner objeker Scanner tallInn = new Scanner() Scanner tekstInn = new Scanner() da skal du ikke få noen problemer, evt velge å bruke Buffered Reader som noen andre her foreslo http://java.sun.com/j2se/1.4.2/docs/api/ja...eredReader.html
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå