Elenco nomi

Nel seguente esempio viene richiesto l’inserimento di tre nominativi attraverso un ciclo for e ad ogni ciclo il nominativo inserito verrà scritto in un file “nominativo.txt” al termine dei tre inserimenti verrà aperto il file e con un ciclo while verrà letta ogni singola riga all’interno del file e messa in un array di stringhe di grandezza [2] (nome cognome) , successivamente verrà mostrato a video soltanto il cognome quindi nomCog[1].

import java.util.Scanner;
import java.io.IOException;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.FileReader;
import java.io.BufferedWriter;
import java.io.BufferedReader;

public class ElencoNomi {

    public static void main(String[] args) throws IOException {

        try {
            Scanner console = new Scanner(System.in);
            FileWriter writer = new FileWriter("nominativi.txt");
            BufferedWriter buffer = new BufferedWriter(writer);
            for (int i = 1; i <= 3; i++) {
                System.out.println("Inserisci il nominativo " + i + ": ");
                System.out.print("> ");
                String nominativo = console.nextLine();
                scrivi(buffer, nominativo);
            }
            buffer.close();
            FileReader fread = new FileReader("nominativi.txt");
            BufferedReader reader = new BufferedReader(fread);
            String riga;
            while ((riga = reader.readLine()) != null) {
                String[] nomCog = new String[2];
                nomCog = riga.split(" ");
                System.out.println(nomCog[1]);
            }
        } catch (FileNotFoundException e) {
            System.out.println("File non trovato " + e.getMessage());
        }
    }

    public static void scrivi(BufferedWriter buffer, String nominativo)
            throws IOException {
        buffer.write(nominativo);
        buffer.newLine();
    }
}

Output Video:

Inserisci il nominativo 1:
> Isaac Asimov
Inserisci il nominativo 2:
> William Gibson
Inserisci il nominativo 3:
> Arthur Clarke
Asimov
Gibson
Clarke

Tags:
Leave a Comment