Java/Input e output: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Riga 4:
 
== Lettura da console ==
Ci sono almeno due modi di leggere l'input da terminale. L'oggetto System.in fornisce accesso allo stream che rappresenta i caratteri inseriti tramite tastiera, ma per manipolarlo in modo specifico è necessario racchiuderlo in un altro oggetto come di seguito indicato.
Per '''leggere''' stringhe da input con il terminale si usa l'oggetto <code>InputStreamReader</code> in questo modo:
 
; Primo modo
Un modo è usare un oggetto <tt>InputStreamReader</tt> come segue:
<source lang="Java">
java.io.BufferedReader console = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
 
String riga = console.readLine();
// ...
</source>
Questo permette di leggere una riga di testo alla volta. La stringa restituita può essere analizzata ad es. con uno StringTokenizer:
<source lang="Java">
// continua dall'esempio precedente
java.util.StringTokenizer tokens = new java.util.StringTokenizer(riga);
 
// ... usa i metodi dell'oggetto tokens
</source>
 
[http://download.oracle.com/javase/6/docs/api/java/util/StringTokenizer.html#method_summary Qui] la lista dei metodi che possono essere invocati sull'oggetto StringTokenizer.
 
; Secondo modo
Un modo alternativo è usare un java.util.Scanner.
<source lang="Java">
InputStreamReaderjava.util.Scanner finconsole = new InputStreamReaderjava.util.Scanner(System.in);
BufferedReader tastiera = new BufferedReader(fin);
 
if (scanner.hasNextInt()) {
tastiera.readLine();
int numero = console.nextInt();
System.out.println("Hai scritto " + numero);
} else {
System.out.println("Non hai inserito un numero");
}
// ... uso altri metodi dello Scanner
</source>
[http://download.oracle.com/javase/6/docs/api/java/util/Scanner.html#method_summary Qui] l'elenco dei metodi che possono essere invocati sull'oggetto Scanner. Quelli più utili sono sicuramente i metodi che hanno un nome del tipo <tt>hasNextXXX</tt> o <tt>nextXXX</tt>.
 
== Scrittura su console ==