- 22,452
- 11,351
- CPU
- 1-Neurone
- Dissipatore
- Ventaglio
- RAM
- Scarsa
- Net
- Segnali di fumo
- OS
- Windows 10000 BUG
Per i primi esperimenti di lettura dell'input ti conviene definire una variabile di classe (cioè fuori dal corpo del main e degli altri metodi)
public static Scanner sc = new Scanner(System.in);
in questo modo hai un solo oggetto sc che può leggere qualunque cosa a seconda dei metodi che invochi;
potresti anche usare la classe Scanner nelle funzioni di lettura però è inefficiente perché ogni funzione ti crea ogni volta un nuovo oggetto per la lettura;
vedi il seg. esempio:
public static Scanner sc = new Scanner(System.in);
in questo modo hai un solo oggetto sc che può leggere qualunque cosa a seconda dei metodi che invochi;
potresti anche usare la classe Scanner nelle funzioni di lettura però è inefficiente perché ogni funzione ti crea ogni volta un nuovo oggetto per la lettura;
vedi il seg. esempio:
Java:
public class StringTest
{
static Scanner sc = new Scanner(System.in); // creato una volta per tutte
static int leggiIntVersioneBrutta(){
System.out.println("Salve, sono una versione BRUTTA di lettura interi");
System.out.println("Inserisci un intero e poi premi INVIO --> ");
// inefficiente: crea un oggetto Scanner ogni volta che si vuol leggere un intero
Scanner s = new Scanner(System.in);
int ris = s.nextInt();
return ris;
}
static int leggiInt(){
System.out.println("Salve, sono una versione un po' meno brutta di lettura interi");
System.out.println("Inserisci un intero e poi premi INVIO --> ");
int ris = sc.nextInt(); // riferito alla variabile di classe
return ris;
}
static String leggiStringa(){
System.out.println("Salve, io leggo stringhe di caratteri");
System.out.println("Inserisci una sola stringa e poi premi INVIO --> ");
String ris = sc.next(); // riferito alla variabile di classe
return ris;
}
public static void main(String[] args) {
int u = leggiIntVersioneBrutta();
System.out.println("u = " + u);
int v = leggiInt();
System.out.println("v = " + v);
String str = leggiStringa();
System.out.println("str = " + str);
}
}
Ultima modifica: