Professional Documents
Culture Documents
Input/Output
Input/Output
Introduzione
I programmi non avrebbero alcuna utilit se non potessero acquisire informazioni dall'esterno (input di dati) o fornire informazioni all'esterno (output di dati). In generale, con input si indicano i dati che occorrono ad un programma per poter procedere con lelaborazione; con output si indicano i risultati dellelaborazione stessa.
input
output
In questa dispensa ci occuperemo dellI/O standard, ossia di input di dati attraverso la tastiera e di output di dati mediante il monitor del computer. Inizieremo con loutput, pi semplice, per poi passare ai diversi metodi di immissione di input.
Output a video
Per visualizzare i risultati di unelaborazione sul monitor, si utilizza listruzione System.out.println, la cui sintassi :
System.out.println(output);
dove output pu essere una stringa, cio una sequenza di caratteri alfanumerici, racchiusa tra virgolette (es. codice A123Hfggg%); un identificatore di variabile/costante. Attenzione! System ha iniziale maiuscola perch una classe di Java. Se scrivete system, vi viene segnalato un errore. Esempio Il codice:
System.out.println("questo e il risultato");
visualizza la stringa questo il risultato. Esempio Il codice:
System.out.println(numero);
visualizza il valore della variabile numero. La variabile numero deve essere stata dichiarata in precedenza e deve anche avere un valore. In caso contrario, viene segnalato un errore.
Listruzione System.out.println ammette un unico argomento; per visualizzare pi argomenti bisogna utilizzare loperatore di concatenazione +. Esempio Il codice:
Input da tastiera
Le versioni fino alla 1.4 di Java non dispongono di specifiche istruzioni per lacquisizione di input da tastiera; per semplificare le operazioni occorre creare una classe apposita. A partire dalla versione 5 di Java, disponibile la classe Scanner. Essa appartiene alla libreria (package) java.util e fornisce vari metodi per linput di tipi primitivi e stringhe. Metodi della classe Scanner significato un numero immesso da tastiera e un numero immesso da tastiera e un numero immesso da tastiera e un numero immesso da tastiera e un numero immesso da tastiera e un numero immesso da tastiera e un numero immesso da tastiera e una stringa immessa da tastiera
lo lo lo lo lo lo lo
in in in in in in in
Per poter usare i metodi della classe Scanner, occorre aggiungere due righe di codice nel programma Java, cos come illustrato in seguito:
import java.util.*; class nome_classe { public static void main (String args[]) { Scanner console= new Scanner(System.in); ................................. } }
Per acquisire in input un intero, occorre scrivere:
Autore: Cinzia Bocchi Ultimo aggiornamento: 06/07/11
ID_varIntera = console.nextInt();
Per tutti gli altri tipi, si procede in modo analogo.
import javax.swing.*; class nome_classe { public static void main (String args[]) { ................................. } }
Per acquisire in input una stringa, occorre scrivere:
JOptionPane.showMessageDialog(null,messaggio);
Autore: Cinzia Bocchi Ultimo aggiornamento: 06/07/11
Esempio Supponiamo che il messaggio sia Ciao PIPPO, come stai?. A video apparir la finestra
Il principale problema legato alle finestre di dialogo che consentono di acquisire in input solo stringhe; anche un numero digitato nel campo della finestra di input interpretato come stringa. Questo implica che necessario convertire la stringa nel tipo necessario per lelaborazione. Nella tabella seguente sono illustrati i principali metodi per la conversione di stringhe. Metodi per la conversione di stringhe metodo significato Byte.parseByte(stringa) converte stringa in un byte Short.parseShort(stringa) converte stringa in uno short Integer.parseInt(stringa) converte stringa in un int Long.parseLong(stringa) converte stringa in un long Float.parseFloat(stringa) converte stringa in un float Double.parseDouble(stringa) converte stringa in un double Boolean.parseBoolean(stringa) converte stringa in un boolean Esempio Il seguente frammento di codice richiede in input un numero, poi lo incrementa di 1 e infine lo produce in output.
String numStr = JOptionPane.showInputDialog(Immetti numero); int num= Integer.parseInt(numStr); num= num+1; numStr=+num; JOptionPane.showMessageDialog(null,numStr);
_______________________________________________________________________
Quest'opera stata rilasciata con licenza Creative Commons Attribution-ShareAlike 3.0 Unported. Per leggere una copia della licenza visita il sito web http://creativecommons.org/licenses/by-sa/3.0/ o spedisci una lettera a Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.