Leggere l'input in Java - esercitazione 9/03

Rispondi
Avatar utente
InformateciBot
Messaggi: 314
Iscritto il: 30/09/2018, 16:33

Erion
ciao,
ho dei problemi con l'import delle classi in java su eclipse.
quale classe avete importato (o utilizzate) per l'input?

MindFlyer
Ciau! Ma Erion è un riferimento ad Ayreon, per caso? :o

Non so rispondere sull'import in Eclipse, ma posso dirti come si ottiene l'input da terminale in Java.

Il modo che preferisco usa la classe Scanner, che s'importa così:

Codice: Seleziona tutto

import java.util.Scanner;
Dopo, per esempio dentro il main(), puoi istanziare Scanner, e fargli leggere una linea di input in una stringa:

Codice: Seleziona tutto

Scanner input = new Scanner(System.in);
String s = input.nextLine();
Dopodiché potrai usare la stringa s come vuoi. In particolare, se s rappresenta un numero, dovrai convertirlo in intero così:

Codice: Seleziona tutto

int i = Integer.parseInt(s);
Ovviamente lo stesso oggetto input può essere riusato per leggere l'input quante volte voi, e l'input potrà a sua volta essere sovrascritto sempre in s, o messo in qualche altra stringa... Quando hai finito di leggere tutti gli input, ricordati di chiudere l'oggetto input. Questo non è essenziale, ma è una buona abitudine fare pulizia:

Codice: Seleziona tutto

input.close();

Un modo alternativo e più "classico" di prendere gli input è tramite un uso congiunto delle classi InputStreamReader e BufferedReader. Quest'alternativa però mi piace meno perché ti costringe ad avere a che fare con la fastidiosa gestione delle eccezioni... Che è un'altra buona cosa da fare in progetti "seri", ma in un'esercitazione vorrai andare più al sodo senza tanti fronzoli.

Erion
Grazie dei dettagli,speravo in Eclipse ci fosse un modo meno laborioso. Cmq erion è soltanto il mio nome. Ciao

MindFlyer
E' già un metodo ben poco laborioso... C'è un import, la creazione di un oggetto, e poi a regime chiamerai solo

Codice: Seleziona tutto

input.nextLine()
ogni volta che vorrai leggere una stringa da input. E' veramente il minimo sindacale di roba.
Rispondi

Torna a “[PR2] Programmazione II”