Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati...

41
Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti di Java quarta edizione

Transcript of Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati...

Page 1: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Capitolo 4

Tipi di dati fondamentali

Cay S. Horstmann Concetti di informatica e fondamenti di Java

quarta edizione

Page 2: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Obiettivi del capitolo

Apprendere l’utilizzo di numeri interi e di numeri in virgola mobile

Identificare i limiti dei tipi numerici

Acquisire consapevolezza degli errori di trabocco e di arrotondamento

Apprendere il corretto utilizzo delle costanti

Scrivere espressioni aritmetiche in Java

Usare il tipo String per definire e manipolare sequenze di caratteri

Imparare ad acquisire dati in ingresso e a presentare dati impaginati in uscita

Page 3: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Tipi di numeri

int: numeri interi, no parti frazionarie

double: numeri in virgola mobile

1, -4, 0

0.5, -3.11111, 4.3E24, 1E-14

Page 4: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Tipi numerici

Un calcolo numerico trabocca se il risultato esce dall’intervallo del tipo numerico.

Java ha otto tipi primitivi, fra i quali quattro tipi interi e due tipi in virgola mobile.

int n = 1000000;System.out.println(n * n); // visualizza -727379968

Page 5: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Tipi primitivi

Page 6: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Tipi numerici: virgola mobile

Avvengono errori di arrotondamento quando non si può fare una conversione numerica esatta.

In Java non si può assegnare un valore in virgola mobile a una variabile intera:

double f = 4.35;System.out.println(100 * f); // visualizza 434.99999999999994

double balance = 13.75; int dollars = balance; // Errore

Continua

Page 7: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Tipi numerici: virgola mobile

Cast (forzatura): converte in numero intero il valore in virgola mobile

Il cast (int) ignora la parte frazionaria.

Il metodo Math.round arrotonda un numero in virgola mobile all'intero più vicino

Se balance vale 13.75, allora a rounded viene assegnato il valore 14.

int dollars = (int) balance;

long rounded = Math.round(balance);

Page 8: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Sintassi 4.1: Cast

 (nomeTipo) espressione

Esempio: (int) (balance * 100)

Obiettivo:Convertire un’espressione in un tipo di dati diverso.

Page 9: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Costantifinal

Una variabile final è una costante dopo che le è stato assegnato un valore, non può più essere

modificato.

Dare un nome alle costanti rende i programmi più facili da leggere e da modificare.

Convenzione: per le costanti utilizzare nomi con tutte le lettere maiuscole.

final double QUARTER_VALUE = 0.25;final double DIME_VALUE = 0.1;final double NICKEL_VALUE = 0.05;final double PENNY_VALUE = 0.01;payment = dollars + quarters * QUARTER_VALUE + dimes * DIME_VALUE + nickels * NICKEL_VALUE + pennies * PENNY_VALUE;

Page 10: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Costanti static final Spesso le costanti vengono usate in più metodi, per cui è

necessario dichiararle insieme ai campi di esemplare della classe, identificandole come static, oltre che final.

Metodi di altre classi possono accedere a una costante pubblica indicando il nome della classe in cui essa è definita, seguito da un punto e dal nome della costante stessa: CashRegister.NICKEL_VALUE.

La classe Math della libreria standard definisce un paio di utili costanti:

public class Math{ . . . public static final double E = 2.7182818284590452354; public static final double PI = 3.14159265358979323846;}

Page 11: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Sintassi 4.2: Definizione di costante

In un metodo: final nomeTipo nomeVariabile = espressione;

In una classe:

specificatoreDiAccesso static final nomeTipo nomeVariabile = espressione;

Esempio:

  final double NICKEL_VALUE = 0.05; public static final double LITERS_PER_GALLON = 3.785;

Obiettivo:Definire una costante in un metodo o in una classe.

Page 12: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

File CashRegister.java 01: /**02: Un registratore di cassa somma gli articoli venduti

e calcola il resto dovuto al cliente.03: */04: public class CashRegister05: {06: /**07: Costruisce un registratore di cassa senza soldi

nel cassetto.08: */09: public CashRegister()10: {11: purchase = 0;12: payment = 0;13: }14:

Continua

Page 13: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

File CashRegister.java

Continua

15: /**16: Registra la vendita di un articolo.17: @param amount il prezzo dell'articolo18: */19: public void recordPurchase(double amount)20: {21: purchase = purchase + amount;22: }23: 24: /**25: Registra la quantità di denaro ricevuta per il pagamento.26: @param dollars il numero di dollari pagati27: @param quarters il numero di quarti di dollaro pagati28: @param dimes il numero di decimi di dollaro pagati29: @param nickels il numero di nickel di dollaro pagati30: @param pennies il numero di penny di dollaro pagati31: */

Continua

Page 14: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

File CashRegister.java

Continua

32: public void enterPayment(int dollars, int quarters, 33: int dimes, int nickels, int pennies)34: {35: payment = dollars + quarters * QUARTER_VALUE + dimes * DIME_VALUE36: + nickels * NICKEL_VALUE + pennies * PENNY_VALUE;37: }38: 39: /**40: Calcola il resto dovuto al cliente e azzera la macchina per la vendita successiva.41: @return il resto dovuto al cliente42: */

Continua

Page 15: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

File CashRegister.java

Continua

43: public double giveChange()44: {45: double change = payment - purchase;46: purchase = 0;47: payment = 0;48: return change;49: }50: 51: public static final double QUARTER_VALUE = 0.25;52: public static final double DIME_VALUE = 0.1;53: public static final double NICKEL_VALUE = 0.05;54: public static final double PENNY_VALUE = 0.01;55: // campi di esemplare 56: private double purchase;57: private double payment;58: }

Page 16: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

File CashRegisterTester.java

01: /**02: Clsse che collauda la classe CashRegister.03: */04: public class CashRegisterTester05: {06: public static void main(String[] args)07: {08: CashRegister register = new CashRegister();09: 10: register.recordPurchase(0.75);11: register.recordPurchase(1.50);12: register.enterPayment(2, 0, 5, 0, 0);13: System.out.print("Change=");14: System.out.println(register.giveChange());15:

Continua

Page 17: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

File CashRegisterTester.java

16: register.recordPurchase(2.25);17: register.recordPurchase(19.25);18: register.enterPayment(23, 2, 0, 0, 0);19: System.out.print("Change=");20: System.out.println(register.giveChange());21: }22: }

Visualizza

Change=0.25Change=2.0

Page 18: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Assegnazione, incremento e decremento

L'operatore = è detto operatore di assegnazione alla sua sinistra ci deve essere il nome di una variabile, mentre alla

destra ci può essere un singolo valore o un’espressione imposta la variabile al valore datoms = items + 1;

L’assegnazione di un valore a una variabile non è un’uguaglianza matematica.

Gli operatori ++ e – – incrementano e decrementano una variabile di un’unità. items++ ha lo stesso effetto di items = items + 1 items-- sottrae 1 a items

Page 19: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Assegnazione, incremento e decremento

Figura 1 Incrementare una variabile

Page 20: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Operazioni aritmetiche

/ è l'operatore per la divisione

Se entrambi gli argomenti dell’operatore / sono di tipo intero, il risultato è un numero intero e il resto viene ignorato. 7.0 / 4 restituisce 1.75

7 / 4 restituisce 1

L’operatore % calcola il resto di una divisione. 7 % 4 è 3

Page 21: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Operazioni aritmetiche

final int PENNIES_PER_NICKEL = 5;final int PENNIES_PER_DIME = 10;final int PENNIES_PER_QUARTER = 25;final int PENNIES_PER_DOLLAR = 100;

// Calcola il valore totale in centesimiint total = dollars * PENNIES_PER_DOLLAR + quarters * PENNIES_PER_QUARTER + nickels * PENNIES_PER_NICKEL + dimes * PENNIES_PER_DIME + pennies;

// Usa la divisione intera per convertire in dollari e centesimiint dollars = total / PENNIES_PER_DOLLAR;int cents = total % PENNIES_PER_DOLLAR;

Un tipico utilizzo della divisione intera / e di operazioni con il resto %

Page 22: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

La classe Math

La classe Math contiene i metodi sqrt e pow per calcolare radici quadrate e potenze.

Per calcolare xn, si usa il metodo Math.pow(x, n) tuttavia, per calcolare x2 è molto più efficiente scrivere

semplicemente x * x

Per estrarre la radice quadrata di un numero, si usa il metodo Math.sqrt scrivendo Math.sqrt(x)

In Java, diventa

(-b + Math.sqrt(b * b - 4 * a * c)) / (2 * a)

Page 23: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Metodi matematici in Java

Page 24: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Analisi di un'espressione

Figura 3 Analisi di un'espressione

Page 25: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Invocare metodi statici

Un metodo static non agisce su un oggetto. NON si può scrivere

I metodi statici sono sempre definiti all'interno di classi

Per convenzione: i nomi delle classi iniziano con una lettera maiuscola, quelli di oggetti e metodi con una lettera minuscola (le invocazioni di metodi sono seguite da parentesi)

double x = 4;double root = x.sqrt(); // Errore

MathSystem.out

Page 26: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Sintassi 4.3: Invocazione di un metodo statico

 NomeClasse.nomeMetodo(parametri)

Esempio: Math.sqrt(4)

Obiettivo:Invocare un metodo statico (un metodo che non agiscesu un oggetto) e fornire i suoi parametri.

Page 27: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Stringhe

Una stringa è una sequenza di caratteri

Le stringhe sono esemplari della classe String

Per calcolare la lunghezza di una stringa:

Stringa vuota:

"Hello, World!"

int n = message.length();

""

Page 28: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Concatenazione

Usando l'operatore + si possono concatenare più stringhe:

Ogni volta che uno degli argomenti dell’operatore + è una stringa, l’altro argomento viene convertito in una stringa.

String name = "Dave";String message = "Hello, " + name; // message è "Hello, Dave"

String a = "Agent";int n = 7;String bond = a + n; // bond è "Agent7"

Page 29: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Concatenazione negli enunciati print

La concatenazione è molto utile per ridurre il numero degli enunciati System.out.print.

Per esempio,

può essere combinato nella singola invocazione:

System.out.print("The total is ");System.out.println(total);

System.out.println("The total is " + total);

Page 30: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Conversione tra stringhe e numeri

Se una stringa contiene le cifre di un numero, viene usato il metodo Integer.parseInt o Double.parseDouble per ottenere il valore numerico.

Page 31: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

substring Per estrarre una parte di una stringa, viene usato il metodo

substring.

La prima posizione della stringa è contrassegnata dall’indice 0, la seconda da 1 e così via.

Le posizioni dei caratteri in una stringa si contano a partire da zero.

ContinuaFigura 3 Posizioni di una stringa

String greeting = "Hello, World!";String sub = greeting.substring(0, 5); // sub è "Hello"

Page 32: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

substring

Figura 4 Estrazione di una sottostringa

È possibile calcolare la lunghezza di una sottostringa mediante l'operazione pastEnd - start

per esempio, la stringa “World” ha lunghezza 12 – 7 = 5.

Page 33: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Alfabeti

Figura 5 Una tastiera tedesca

Page 34: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Alfabeti

Figura 6 L'alfabeto thai

Page 35: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Alfabeti

Figura 7 Menu con caratteri cinesi

Page 36: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Leggere dati in ingresso All'oggetto System.in è associato un insieme di funzionalità minimali: può

leggere solo un byte alla volta

In Java 5.0, è stata aggiunta una classe Scanner che consente la lettura semplice e comoda dei dati inseriti in ingresso da tastiera.

Quando viene invocato il metodo nextInt o nextDouble, il programma si arresta in attesa che l’utente digiti un numero e prema il tasto “Enter” (“Invio”):

Il metodo nextLine restituisce la successiva riga di testo fornita in ingresso (fino alla pressione del tasto “Enter”), sotto forma di oggetto di tipo String.

Il metodo next restituisce, invece, la parola successiva, una sequenza di caratteri terminata da un carattere di spaziatura (“white space”)

Scanner in = new Scanner(System.in);System.out.print("Enter quantity: ");int quantity = in.nextInt();

Page 37: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

File CashRegisterSimulator.java

Continua

01: import java.util.Scanner;02: 03: /**04: Programma che simula una transazione in cui un utente paga05: per un articolo e riceve il resto06: */07: public class CashRegisterSimulator08: {09: public static void main(String[] args)10: {11: Scanner in = new Scanner(System.in);12: 13: CashRegister register = new CashRegister();14: 15: System.out.print("Enter price: ");16: double price = in.nextDouble();17: register.recordPurchase(price);18: 19: System.out.print("Enter dollars: ");20: int dollars = in.nextInt();

Page 38: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

File CashRegisterSimulator.java

Continua

21: int dollars = in.nextInt();22: System.out.print(“Enter quarters: “);23: int quarters = in.nextInt();24: System.out.print(“Enter dimes: “);25: int dimes = in.nextInt();26: System.out.print(“Enter nickels: “);27: int nickels = in.nextInt();28: System.out.print(“Enter pennies: “);29: int pennies = in.nextInt();30: register.enterPayment(dollars, quarters, dimes, nickels,

pennies);31:32: System.out.print(“Your change: “);33: System.out.println(register.giveChange());34: }35: }

Page 39: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

File CashRegisterSimulator.java

Enter price: 7.55Enter dollars: 10Enter quarters: 2Enter dimes: 1Enter nickels: 0Enter pennies: 0Your change is 3.05

Visualizza

Page 40: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Lettura di dati da una finestra di dialogo

Figura 8 Una finestra di dialogo

Page 41: Concetti di informatica e fondamenti di Java, 4 ed.Apogeo ©2007 Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti.

Concetti di informatica e fondamenti di Java, 4 ed. Apogeo ©2007

Lettura di dati da una finestra di dialogo

Converte le stringhe in numeri se necessario:

Va aggiunto System.exit(0) alla fine del metodo main ogniqualvolta venga invocato showInputDialog o showMessageDialog

String input = JOptionPane.showInputDialog("How many nickels do you have?")

int nickels = Integer.parseInt(input);