View Full Version : Java e standard input
Perdono per la domanda stupida, ma ho appena cominciato ad approcciarmi a java e sto seguendo TIJ di eckel, ma se l'analogo di cout è system.out.println, come si fa a usare l'input da console!??
Prima di vederti l'input da console dovresti vedere l'i/o da / su file... poi la cosa è analoga...
...anyway...
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
poi per leggere:
String buff=in.readLine();
la risposta di soalle è giusta, anche io uso quel metodo per leggere da tastiera.
System.in esiste e fa parte della classe InputStream che hai dei metodi veramente brutali per la lettura, se vuoi puoi utilizzare pure quella ma non penso che sia molto usata e non faccio fatica a crederci... :-)
System.in è un rimasuglio dei primi java quando non c'era la divisione tra stream di byte e stream di caratteri...
Adesso che c'è divisione delle due cose è rimasto System.in come Stream di byte (per compatibilità verso il basso) eppoi c'è l'InputStreamReader che fa da Bridge tra le due tipologie di stream... e dopo ci metti sopra un bel BufferedReader che è sempre comodo per leggere una riga intera...
La divisione in stream di byte/caratteri + bridge c'è anche per l'output...
Grazie a tutti ( io, proveniendo da Basic e Pascal già odiavo la scanf... ma devo dire che Java è ancora più contorto per quanto riguarda l'input!!!!)
Niente a che vedere la scanf (volendo insicura e origine di attacchi di buffer overflow...) e l'input da console di Java...
Una piccola istruzioncina per costruire l'oggetto e poi vai sicuro a leggerti delle stringhe intere (che poi puoi convertire in intero, sezionare con i metodi della classe String, estrarre parole con lo StringTokenizer, ecc...)
Molto più facile Java...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.