JAVA

Scanner

Introduzione alla classe Scanner in Java per la gestione dell’input da tastiera, con esempi pratici e laboratorio guidato su onlinegdb.

Durata

100 minuti

Software

Java JDK, Browser, onlinegdb.com

Introduzione alla gestione dell'input con Scanner

Un programma efficace non si limita a eseguire istruzioni statiche, ma interagisce con l'utente acquisendo dati in ingresso. In Java, questo avviene principalmente tramite la classe Scanner, uno strumento semplice e potente per leggere input da tastiera.

Importazione e creazione dello Scanner

Per utilizzare Scanner è necessario importare il package java.util e creare un oggetto collegato allo standard input.

import java.util.Scanner;

Scanner input = new Scanner(System.in);

Tipi di dati leggibili

MetodoTipoEsempio
nextInt()Interoint x = input.nextInt();
nextDouble()Decimaledouble d = input.nextDouble();
next()Stringa singolaString s = input.next();
nextLine()Stringa completaString s = input.nextLine();

Differenza tra next() e nextLine()

  • next() legge solo fino al primo spazio
  • nextLine() legge tutta la riga

Problema del buffer

Dopo l'uso di nextInt(), il carattere di invio rimane nel buffer e può causare comportamenti inattesi.

int eta = input.nextInt();
input.nextLine(); // pulizia buffer
String nome = input.nextLine();

Validazione dell'input

Per evitare errori è possibile verificare il tipo di dato inserito:

if(input.hasNextInt()){
    int numero = input.nextInt();
} else {
    System.out.println("Valore non valido");
}

Struttura di un programma interattivo

  • Richiesta input
  • Lettura dati
  • Elaborazione
  • Output

Questo schema è alla base di molte applicazioni reali come form, login e sistemi di gestione dati.

LABORATORIO

Gestione input con Scanner

Sviluppo guidato di un programma interattivo completo


1 Creazione del progetto

Accedere a onlinegdb.com, selezionare Java e creare un nuovo programma.


2 Inserimento del codice base

Scrivere il seguente programma:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.print("Inserisci il nome: ");
        String nome = input.nextLine();

        System.out.print("Inserisci l'età: ");
        int eta = input.nextInt();

        System.out.println("Ciao " + nome + ", hai " + eta + " anni.");

        input.close();
    }
}

3 Estensione del programma

Modificare il codice aggiungendo:

  • Inserimento del cognome
  • Inserimento della città
  • Messaggio finale più dettagliato

4 Gestione errori

Aggiungere un controllo per verificare che l'età sia un numero valido.

if(input.hasNextInt()){
    int eta = input.nextInt();
} else {
    System.out.println("Errore: inserire un numero");
}

5 Esercizio di realtà

  • Simulare una registrazione utente
  • Richiedere nome, età, città
  • Stampare un riepilogo strutturato
--- PROFILO ---
Nome: Mario Rossi
Età: 20
Città: Roma





Java, Scanner, Input, Programmazione, Console, Informatica,