Transcript lucidi

Programmazione in Java
(I modulo)
Laboratorio 2: Input e Output
• Vediamo alcuni dettagli tecnici sulla classe
scanner e su output su schermo e qualche
nozione sul tipo String.
Output su Schermo
• System.out è un “oggetto” che è parte di Java.
• println()
• print()
• printf()
sono dei metodi disponibili sull’oggetto
System.out.
Input da tastiera
• Si utilizza la classe Scanner del package
java.util.
 Un package è una libreria di classi.
Class Scanner
• All’inizio del programma scrivo:
import java.util.Scanner;
• Creo un oggetto della classe Scanner
Scanner tast= new Scanner(System.in)
• Leggo i dati con il metodo corrispondente :
int n1 = tast.nextInt();
double d1 = tast.nextDouble();
Metodi della classe Scanner
Metodi della classe Scanner
Attenzione a nextLine()
• Il metodo nextLine() legge tutta la
linea corrente fino al return (anche se è
vuota!)
Class String
• Un valore di tipo String è una sequenza di
caratteri considerate però come un solo elemento.
• Per indicarla, si racchiude tra “ “
• Esempio:
“Questo e’ un esempio di stringa”
• Domanda: Come indico la stringa:
La parola “class" non può essere
usata come identificatore Java.
Caratteri di “Escape”
• Ogni sequenza di escape è un singolo
carattere !
Esempi
System.out.println("abc\\def");
abc\def
System.out.println("new\nline");
new
line
char singleQuote = '\'';
System.out.println
(singleQuote);
'
Variabili e costanti di tipo String
• Dichiarazione
String saluto;
saluto = "Hello!";
o, direttamente:
String saluto = "Hello!";
o anche
String saluto = new String("Hello!");
• Per stamparla
System.out.println(saluto);
La stringa vuota
• Una stringa può avere un qualsiasi numero di
caratteri , anche zero!
• La stringa con zero caratteri si chiama stringa
vuota (empty string).
• A volte è utile… Si definisce così:
String s3 = "";
Concatenazioni di stringhe
• Due stringhe si possono concatenare usando
l’operatore + .
String saluto = "Hello";
String frase1;
frase1= saluto+ " Signora";
System.out.println(frase1);
• Se concateno una stringa e un numero, viene
tutto convertito in stringa:
saluto + 47 diventa "Hello47";
Esempio
String soluzione;
soluzione = " La risposta e’ " + 42;
System.out.println (soluzione);
The temperature is 72
La risposta e’ 42
Analizziamo il programma:
• ScannerDemo.java
Esercizio 1 (da casa)
• Scrivere un programma che
 Chiede all’utente di inserire 5 numeri interi
corrispondenti al prezzo in euro di 5 oggetti
da comprare.
 Restituisce in output il costo totale da pagare
per l'acquisto.
Esercizio Lab02-1-bis
• Scrivere un programma che
 Chiede all’utente di inserire 5 numeri interi
corrispondenti al prezzo in euro di 5 oggetti
da comprare.
 Restituisce in output il costo totale da pagare
per l'acquisto.
NOTA: il programma dovrà usare solo 2
variabili.
Esercizio Lab02-2
• Scrivere un programma che
 Chiede all’utente di inserire 5 numeri float
corrispondenti al prezzo in euro di 5 oggetti
da comprare.
 Restituisce in output il costo totale da pagare
per l'acquisto. ()
NOTA: il prezzo in Euro deve avere solo 2 cifre
decimali (e usare solo 2 variabili).
Esercizio Lab02-3
• Ampliare il programma dell’esercizio 2 con i seguenti
“dialoghi” cassiere-cliente:
 Chiede al cliente il proprio nome.
 Scrive in output una frase di benvenuto che contiene
il nome del cliente.
 Chiede al cliente di inserire 5 numeri float
corrispondenti al prezzo in euro di 5 oggetti da
comprare.
 Restituisce in output il costo totale da pagare per
l'acquisto.
 Scrive in output una frase di saluto che contiene il
nome del cliente.