Esempio Java n.2 – Gestione dell’Input/Output da Console con numeri reali

La classe Java che presento è una classe che mostra come utilizzare la classe Scanner per la gestione del flusso di input da Console in Java. La classe Scanner fa parte del package util di Java consultabile sul sito web dedicato alla documentazione ufficiale di Java dalla versione Java SE 7.1 (apri il link) che permette di gestire l’inserimento di dati da tastiera in una classe Java.

Libro programmazione in java H. Deitel e J.P. Deitel
La nostra classe permette di eseguire la somma e la media di tre numeri reali inseriti da tastiera e di stamparli a video. Fate molta attenzione perché nei programmi Java il separatore decimale è la “virgola”
Per fare questo nella stessa classe Numeri2.java è stato inserito il metodo main per il test della classe. E inutile ricordare che il metodo main andrebbe inserito in una classe separata per il test della classe.
Nella gestione dell’input tramite la classe Scanner è essenziale importare la classe Scanner nella clausola import il percorso compreso di package per la classe quindi java.util.Scanner, poi istanziare un oggetto di tipo Scanner e solo allora sarà possibile leggere i dati dalla tastiera in vari formati, Nel nostro caso utilizziamo il metodo nextFloat() che legge un reale. Conviene effettuare tale lettura nel blocco try .. catch per evitare di far crashare il programma java per errato inserimento. Ad esempio se il programma si aspetta un intero e io digito un carattere o una stringa il programma genera un’eccezione che mi avverte di aver commesso un errore, ma comunque anche se alterata l’esecuzione del programma prosegue. In realtà nella classe non è gestita il reinserimento del numero qualora sia stata sollevata un’eccezione per semplificare il codice.
Il codice quindi della classe è:

import java.util.Scanner;
public class Numeri2 {
    private float num1;
    private float num2;
    private float num3;
    private float media;
    private float somma;
    public Numeri2(float x, float y, float z)
    {
        this.num1=x;
        this.num2=y;
        this.num3=z;
    }
    public float CalcolaMedia()
    {
        media=(num1+num2+num3)/3;
        return media;
    }
    public float CalcolaSomma()
    {
        somma=(num1+num2+num3);
        return somma;
    }
    public void Stampa()
    {
        System.out.println("La eedia e la somma sono:"+somma+","+media);
    } 
           
            
    public static void main(String[] args) {
        float x=0,y=0,z=0,m,s;
        s=0;
        m=0;
        Scanner sc = new Scanner (System.in);
        try
        {
            System.out.println("Digita tre numeri reali:");
            x=sc.nextFloat();
            y=sc.nextFloat();
            z=sc.nextFloat();
        }
        catch (Exception e)
        {
            System.out.println("Errore nella digitazione");
        }
        Numeri2 onum=new Numeri2(x,y,z);
        s=onum.CalcolaSomma();
        m=onum.CalcolaMedia();
        System.out.println("Risultato:");
        onum.Stampa();
    }
}



Video numero 1 sulla programmazione In Java
Libro da leggere su Java

Video numero 2 sulla programmazione in Java