Java: inserimento dati da tastiera

Ivan Slavinsky

In Java l'immissione di un dato avviene tramite la gestione di una stringa di dati in input.

Nell'esempio che segue il dato immesso viene convertito da stringa di caratteri ad intero.

/**
* semplice esempio per il casting eplicito
* @author Francesco Bragadin
* @version 1.0
*/

import java.io.InputStreamReader;
import java.io.BufferedReader ;
import java.io.IOException;

public class rettangolo {
public static void main(String[] args) {

double base, altezza,area;
/**
* legge da tastiera il tipo di dato
*/
System.out.println("inseirsci il valore della base del rettangolo");
base =0;
   BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
     try {
       base = Double.parseDouble(input.readLine());
         }
         catch (Exception e) {
         e.printStackTrace();
        }
System.out.println("inseirsci il valore dell'altezza del rettangolo");
altezza=0;
BufferedReader input1 = new BufferedReader(new InputStreamReader(System.in));
try {
altezza = Integer.parseInt(input1.readLine());
}
catch (Exception e) {
e.printStackTrace();
}
System.out.println("Area risulta");
area=base*altezza;
System.out.println(area);
}
}

 

 

L'istruzione fondamentale per immettere un dato è quindi:

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

che è una semplice istruzione di inizializzazione dell'oggetto input nella classe BufferReader.

Andando più avanti nella programmazione si nota che il comando

new ha il compito di inizializzare un oggetto con un opportuno valore.

Ad esempio:

Triangolo t= new Triangolo(p1,p2,p3);

la variabile t che è di tipo triangolo viene inizializzata con i tre valori dei vertici del triangolo stesso.

Poi il comando:

base = Double.parseDouble(input.readLine());

la variabile input1.readLine() viene passata alla funzione Double.parseDouble che effettua l'operazione da char a Double (in questo caso).

Il comando:

catch (Exception e) {
         e.printStackTrace();

questo comando invece gestisce gli errori, ad esempio invece che inserire un dato si dà direttamente l'invio, e compare il seguente messaggio:

java.lang.NumberFormatException: empty String
inseirsci il valore dell'altezza del rettangolo
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at sun.misc.FloatingDecimal.parseDouble(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
at rettangolo.main(rettangolo.java:24)

 

 

Info su Francesco Bragadin

Insegno informatica e telecomunicazioni al liceo scienze applicate ed all'indirizzo informatica e telecomunicazioni. Ho terminato gli studi in ingegneria elettronica e telecomunicazioni lavorando per molti anni come libero professionista nell'ambio della gestione storage e disaster recovery nell'ambito bancario.
Questa voce è stata pubblicata in Senza categoria. Contrassegna il permalink.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *