Esempio Java n.1 – Gestione Input/Output da Console

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.
La nostra classe permette di eseguire la somma e la differenza di due numeri interi inseriti da tastiera e di stamparli a video.
Per fare questo nella stessa classe Numeri.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 nextInt() che legge un intero. 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 Numeri {
    private int n1;
    private int n2;
    private int somma;
    private int differ;
    public Numeri(int x, int y)
    {
        this.n1=x;
        this.n2=y;
    }
    public int CalcolaSomma()
    {
        somma=n1+n2;
        return somma;
    }
    public int CalcolaDiff()
    {
        this.differ=n1-n2;
        return differ;
    }
    public String stampa(int x)
    {
        return "Risultato:"+x+"\n";
    }
    public static void main(String[] args) {
        int a,b,s,d;
        s=0;
        d=0;
        a=0;
        b=0;
        Scanner sc= new Scanner(System.in);
        try 
        {   System.out.println("Digita due numeri:");
            a=sc.nextInt();
            b=sc.nextInt();
        }
        catch (Exception e)
        {
               System.out.println("Errore nell'inserimento");
        }
        Numeri num =new Numeri(a,b);
        s= num.CalcolaSomma();
        System.out.println(n1um.stampa(s));
        d=num.CalcolaDiff();
        System.out.println(num.stampa(d));
        }
}

Libro programmazione in java H. Deitel e J.P. Deitel

Link Sponsorizzato ottimo

Ulteriori contenuti sul Java:
Video n.1 – Introduzione a Java e Fondamenti sulle Classi

Video n.2 – Lezione di Java la gestione dell’Input e Output