Just nu i M3-nätverket
Gå till innehåll
brorsan

Tangentbordsinmatning i Java = omständigt.

Rekommendera Poster

Har just börjat koda lite Java och börjar bli frustrerad över hur tangentbordsinmatingen funkar. Det sättet jag hittat kräver allt detta:

 

Först denna rad för skapa en buffert som jag fattat det:

BufferedReader stdin = new BufferedReader
(new InputStreamReader(System.in));

 

Sedan detta för att läsa in en sträng:

streng=stdin.readLine();

 

Sedan detta om man vill undersöka strängen tecken för tecken:

vektor=streng.toCharArray();

 

Detta känns otroligt omständigt. Finns det inget enkelt sätt som i c med scanf() eller c++ cin()??

 

Blir galen! Håller på att skriva lite kod nu som väntar på att använder trycker antingen 'q' för att avsluta eller vilken annan tangent som helst för att fortsätta. Tänk vad enkelt i C++:

 

include <iostream.h>

...

char c;

...

while(c!='q')

{

...

...

c=getch();

}

...

 

 

Hur gör jag detta i Java?? Utan att behöva trycka [enter] efter q. Tänk på att jag är total nybörjare i Java :)

 

Poäng utdelas för hjälp!

____________________

/brorsan

http://www.brorsan.com

Köp mina grejer: http://www.brorsan.com/4sale/4sale.htm

 

[inlägget ändrat 2003-07-29 18:18:50 av brorsan]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Vad gäller din fråga om motsvarighet till c=getch() så är det för det första inte ett dugg standard i C och för det andra så säger man bara read() till sin System.in och då har man nästa tecken. Det får nog anses vara ungefär lika lätt som i C.

 

Exakt förslag på enkel motsvarighet till scanf() beror ju lite på innehållet i formatsträngen i din scanf men jag har hitills inte hittat något som varit speciellt svårt att läsa in.

 

Jag skulle föreslå att du läser de inledande kapitlen i t.ex Suns Java Tutorial (gratis på nätet http://java.sun.com/docs/books/tutorial/) och då speciellt stycket om I/O http://java.sun.com/docs/books/tutorial/essential/io/overview.html

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Har lärt mig lite under dagen, dock föredrar jag fortfarande C/C++'s hantering av io-streams.... sen vad menar du att c=getch(); inte är "standard"? Ingår väl i iostream.h, förstår inte riktigt vad du menar...

 

Tackar för länkarna dock :)

____________________

/brorsan

http://www.brorsan.com

Köp mina grejer: http://www.brorsan.com/4sale/4sale.htm

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
sen vad menar du att c=getch(); inte är "standard"? Ingår väl i iostream.h, förstår inte riktigt vad du menar...

 

getch() ingår inte i ANSI C så det är inte standard alls.. :) ...däremot getc() och getchar() har jag för mig?

 

--

.Wey

 

Future Hero Next Generati0n

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
c=getch(); inte är "standard"? Ingår väl i iostream.h

 

Nope, brukar ligga i conio.h, curses.h eller motsvarande. I dagsläget har nästan alla plattformar nåt åt det hållet men standard är det absolut inte.

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...