Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © 2004 - The McGraw-Hill Companies.

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

LINGUAGGIO DI PROGRAMMAZIONE C
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A2 Java: le basi del linguaggio.
Iterazione while – do while - for.
Java Stream e File. La classe File Per operare con lintero file java mette a disposizione la classe File Per utilizzare la classe File è necessario importare.
Iterazione A. Ferrari.
Selezione A. Ferrari.
Sviluppo di programmi strutturati
Capitolo 2 Nozioni fondamentali su Java Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill.
Iterazione Capitolo 17 febbraio 2004 Iterazione.
Istruzioni condizionali e blocco
Capitolo 13 Verifica e debug Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill.
Capitolo 8 Array Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl.
MATLAB.
Algoritmi e Programmazione
Programmazione Ingegneria TLC
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
INFORMATICA Strutture iterative
Tipi di dato e controllo del flusso Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Fisica Computazionale I - 51 OPERAZIONI DI INPUT/OUTPUT Le operazioni di input/output sono estremamente complesse perche' implicano una sostanziale interazione.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 11 (19 novembre 2008) Programmazione in Java: controllo del flusso (iterazione)
1 Corso di Informatica (Programmazione) Lezione 10 (12 novembre 2008) Programmazione in Java: espressioni booleane e controllo del flusso (selezione)
Corso di Laurea in Biotecnologie Informatica (Programmazione)
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
Scomposizione di stringhe
Introduzione alla programmazione lll
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
Fondamenti di Informatica I a.a Il linguaggio C Il controllo di flusso La selezione condizionale Listruzione switch I cicli Le istruzioni break,
Istruzioni di ripetizione in Java
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
Selezione (=scelta) con “if-else”
INFORMATICA Altre Istruzioni di I/O. © Piero Demichelis 2 Funzioni di I/O Per la lettura e la scrittura da videoterminale il C prevede numerose istruzioni.
Strutture di controllo in C -- Flow Chart --
I File.
I DATI LE ISTRUZIONI LE STRUTTURE FONDAMENTALI
Corso di PHP.
Programmazione in Java
Programmazione in Java Claudia Raibulet
30 ottobre Mergesort F. Bombi 30 ottobre 2002.
Cicli in Fortran I cicli consentono di eseguire una sequenza di istruzioni più di una volta due tipi: Cicli iterativi Cicli while.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Gestionale A.A. 2003/2004.
BIOINFO3 - Lezione 221 Listruzione IF-ELSE prevede un secondo blocco di istruzioni da eseguire in alternativa al primo nel caso la condizione sia falsa.
BIOINFO3 - Lezione 211 INPUT La lettura di un input dallo standard input (tastiera) si effettua utilizzando lespressione. Quando il programma incontra.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Corso di Programmazione in Java – Esercizio n° 001
Appunti di Java (J2SDK 1.4.2, JDK 1.6.0) prof. Antonella Schiavon settembre 2009.
Anno accademico Le istruzioni di controllo in C.
JAVA Per iniziare. Verificare installazione javac –version java –version Cercare i files e sistemare eventualmente il path.
Ripetizione La vera potenza dei programmi per computer risiede nella capacità di ripetere lo stesso calcolo o sequenza di istruzioni più volte, ogni volta.
Ingresso e uscita in Java F. Bombi 10 ottobre 2002.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Corso JAVA Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques”
Introduzione a Javascript
R 255 G 211 B 8 R 255 G 175 B 0 R 127 G 16 B 162 R 163 G 166 B 173 R 104 G 113 B 122 R 234 G 234 B 234 R 175 G 0 B 51 R 0 G 0 B 0 R 255 G 255 B 255 Supporting.
Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Capitolo 12 Thread Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Programmazione in Java
Input-Output 16 Maggio Nei programmi sviluppati sino ad oggi abbiamo usato * output su schermo (con System.out.print e System.out.print ) * input.
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
10/10/20021 Ingresso e uscita in Java F. Bombi 10 ottobre 2002.
Eprogram informatica V anno. Introduzione a PHP Introduzione La diffusione di PHP ha avuto un notevole incremento dalla fine degli anni Novanta a oggi,
1 Input / Output Spesso un programma deve acquisire dati da una sorgente esterna o inviare informazioni a una destinazione esterna. L’informazione può.
13/08/02Input 1 Interagire con il computer Da tastiera Da riga di comando Funzioni di conversione.
Basi di Java Strutture base di Java. Basi di java ▪Variabili ▪Operatori ▪Condizioni e Cicli ▪Array.
Transcript della presentazione:

Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Cicli Java  Opzioni while do-while for  Consentono ai programmi di controllare quante volte viene eseguito un elenco di istruzioni

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Media  Problema Estrarre un elenco di numeri positivi da inserimenti standard e calcolarne la media  I numeri sono uno per riga  Un numero negativo funge da indicatore del fatto che non vi sono altri numeri da elaborare  Osservazioni Non è possibile fornire codice sufficiente utilizzando solo assegnazioni e costrutti condizionali per risolvere il problema  Non si conosce la grandezza dell'elenco da elaborare È necessaria la capacità di ripetere il codice come necessario

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Media  Problema Estrarre un elenco di numeri positivi da inserimenti standard e calcolarne la media  I numeri sono uno per riga  Un numero negativo funge da indicatore del fatto che non vi sono altri numeri da elaborare  Algoritmo Preparazione all'elaborazione Ottenere l'input Mentre esiste un input da elaborare{  Elaborare l'input corrente  Ottenere l'input successivo } Eseguire l'elaborazione finale

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Media  Problema Estrarre un elenco di numeri positivi da inserimenti standard e calcolarne la media  I numeri sono uno per riga  Un numero negativo funge da indicatore del fatto che non vi sono altri numeri da elaborare  Esempio di esecuzione Enter positive numbers one per line. Indicate end of list with a negative number Average 2.1

public class NumberAverage { // main(): punto di ingresso per l'applicazione public static void main(String[] args) throws IOException { // imposta l'elaborazione dell'elenco // richiede i valori all'utente // ottiene il primo valore // elabora i valori uno ad uno while (value >= 0) { // aggiunge il valore al totale // elaborato un altro valore // prepara l'iterazione successiva - ottiene il valore successivo } // visualizza il risultato if (valuesProcessed > 0) // calcola e visualizza la media else // indica che non esistono medie da visualizzare }

System.out.println("Enter positive numbers 1 per line.\n" + "Indicate end of the list with a negative number."); BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0) { double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else { System.out.println("No list to average"); }

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Sintassi e semantica di while L'azione può essere un'unica istruzione o un elenco di istruzioni racchiuse tra parentesi graffe. L'azione si chiama anche corpo del ciclo. Dopo l'esecuzione del corpo, viene ricalcolata l'espressione. Se l'espressione dà come risultato true, viene eseguito di nuovo il corpo del ciclo. Il processo si ripete finché l'espressione dà come risultato false. Espressione logica che determina se l'Azione va eseguita. Se l'espressione dà come risultato true, viene eseguita l'azione; diversamente, il ciclo termina.

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Semantica di while per il problema della media L'espressione viene calcolata all'inizio di ogni iterazione del ciclo. Il valore dell'espressione indica se esiste un numero da elaborare Se l'espressione dà come risultato true, vengono eseguite queste istruzioni. Dopodiché, l'espressione viene ricalcolata e il processo si ripete

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Semantica di while L'espressione viene calcolata all'inizio di ogni iterazione del ciclo Se l'espressione dà come risultato false, l'esecuzione del programma continua con l'istruzione successiva Se l'epressione dà come risultato true, viene eseguita l'azione

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia dell'esecuzione int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } Si supponga che l'input contenga:

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia dell'esecuzione int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } Si supponga che l'input contenga: valuesProcessed

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia dell'esecuzione int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } valueSum Si supponga che l'input contenga: valuesProcessed 0

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } valueSum value Si supponga che l'input contenga: valuesProcessed 0 4.5

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } valueSum value Si supponga che l'input contenga: valuesProcessed 0 4.5

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } valueSum value Si supponga che l'input contenga: valuesProcessed 0 4.5

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } valueSum value Si supponga che l'input contenga: valuesProcessed 4.5 1

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } valueSum value Si supponga che l'input contenga: valuesProcessed

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } valueSum value Si supponga che l'input contenga: valuesProcessed

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } valueSum value Si supponga che l'input contenga: valuesProcessed

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } valueSum value Si supponga che l'input contenga: valuesProcessed

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } valueSum value Si supponga che l'input contenga: valuesProcessed

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } valueSum value Si supponga che l'input contenga: valuesProcessed

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } valueSum value Si supponga che l'input contenga: valuesProcessed

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } valueSum value Si supponga che l'input contenga: valuesProcessed

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } valueSum value Si supponga che l'input contenga: valuesProcessed

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } valueSum value Si supponga che l'input contenga: valuesProcessed 6.3

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } valueSum value Si supponga che l'input contenga: valuesProcessed 6.3

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } valueSum value Si supponga che l'input contenga: valuesProcessed 6.3 average 2.1

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia int valuesProcessed = 0; double valueSum = 0; double value = Double.parseDouble(stdin.readLine()); while (value >= 0) { valueSum += value; ++valuesProcessed; value = Double.parseDouble(stdin.readLine()); } if (valuesProcessed > 0){ double average = valueSum / valuesProcessed; System.out.println("Average: " + average); } else{ System.out.println("No list to average"); } valueSum value Si supponga che l'input contenga: valuesProcessed 6.3 average 2.1

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Conversione del testo in minuscole public static void main(String[] args) throws IOException { BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.println("Enter input to be converted:"); String converted = ""; String currentLine = stdin.readLine(); while (currentLine != null) { String currentConversion = currentLine.toLowerCase(); converted += (currentConversion + "\n"); currentLine = stdin.readLine(); } System.out.println("\nConversion is:\n" + converted); }

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Esempio di esecuzione Si è premuto CTRL+Z, la sequenza di escape di Windows per indicare la fine del file

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia del programma public static void main(String[] args) throws IOException { BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.println("Enter input to be converted:"); String converted = ""; String currentLine = stdin.readLine(); while (currentLine != null) { String currentConversion = currentLine.toLowerCase(); converted += (currentConversion + "\n"); currentLine = stdin.readLine(); } System.out.println("\nConversion is:\n" + converted); }

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia del programma public static void main(String[] args) throws IOException { BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.println("Enter input to be converted:"); String converted = ""; String currentLine = stdin.readLine(); while (currentLine != null) { String currentConversion = currentLine.toLowerCase(); converted += (currentConversion + "\n"); currentLine = stdin.readLine(); } System.out.println("\nConversion is:\n" + converted); }

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia del programma public static void main(String[] args) throws IOException { BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.println("Enter input to be converted:"); String converted = ""; String currentLine = stdin.readLine(); while (currentLine != null) { String currentConversion = currentLine.toLowerCase(); converted += (currentConversion + "\n"); currentLine = stdin.readLine(); } System.out.println("\nConversion is:\n" + converted); }

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia del programma public static void main(String[] args) throws IOException { BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.println("Enter input to be converted:"); String converted = ""; String currentLine = stdin.readLine(); while (currentLine != null) { String currentConversion = currentLine.toLowerCase(); converted += (currentConversion + "\n"); currentLine = stdin.readLine(); } System.out.println("\nConversion is:\n" + converted); }

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia del programma L'operatore di concatenamento aggiorna la rappresentazione di converted per includere la riga di input corrente Rappresentazione della conversione in minuscole della riga di input corrente Il carattere di nuova riga è necessario perché il metodo readLine() elimina dall'input questo carattere

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Conversione del testo in minuscole public static void main(String[] args) throws IOException { BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.println("Enter input to be converted:"); String converted = ""; String currentLine = stdin.readLine(); while (currentLine != null) { String currentConversion = currentLine.toLowerCase(); converted += (currentConversion + "\n"); currentLine = stdin.readLine(); } System.out.println("\nConversion is:\n" + converted); }

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Progettazione di cicli  Domande da porsi nella progettazione e nell'analisi dei cicli Quale inizializzazione è necessaria per l'espressione di test del ciclo? Quale inizializzazione è necessaria per l'elaborazione del ciclo? Che cosa provoca la fine del ciclo? Quali azioni dovrebbe eseguire il ciclo? Quali azioni sono necessarie per prepararsi alla successiva iterazione del ciclo? Quali condizioni sono true e quali false quando il ciclo viene terminato? Quando termina il ciclo quali azioni sono necessarie per preparare la successiva elaborazione del programma?

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl L'istruzione for

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl L'istruzione for L'inizializzazione viene effettuata solo una volta, appena prima del primo calcolo dell'espressione di prova

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl L'istruzione for L'inizializzazione viene effettuata solo una volta, appena prima del primo calcolo dell'espressione di prova Il corpo del ciclo itera finché l'espressione di prova è true

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl L'istruzione for L'inizializzazione viene effettuata solo una volta, appena prima del primo calcolo dell'espressione di prova Il corpo del ciclo visualizza il termine corrente nella serie di numeri, e determina quindi qual è il numero corrente Il corpo del ciclo itera finché l'espressione di prova è true

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl L'istruzione for L'inizializzazione viene effettuata solo una volta, appena prima del primo calcolo dell'espressione di prova Il corpo del ciclo visualizza il termine corrente nella serie di numeri, e determina quindi qual è il numero corrente Dopo ogni iterazione del corpo del ciclo, viene ricalcolata l'espressione aggiornata Il corpo del ciclo itera finché l'espressione di prova è true

Calcolato una volta all’inizio dell’esecuzione dell’istruzione for L’espressione ForExpr viene calcolata all’inizio di ogni iterazione Se ForExpr è falsa, l’esecuzione del programma continua con l’istruzione seguente Se ForExpr è vera, viene eseguita l’azione Dopo che l’azione è completata, viene calcolata PostExpr Dopo il calcolo di PostExpr, inizia l’iterazione successiva del ciclo

Sintassi dell'istruzione for Espressione logica che determina se sono state eseguite l'azione e l'aggiornamento L'inizializzazione prepara il programma per il primo calcolo dell'espressione di prova L'aggiornamento viene svolto dopo l'esecuzione del corpo del ciclo Il corpo del ciclo itera ogni volta che l'espressione di prova dà come risultato true

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia dell'esecuzione for (int i = 0; i < 3; ++i) { System.out.println("i is " + i); } System.out.println("all done"); i 0

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia dell'esecuzione for (int i = 0; i < 3; ++i) { System.out.println("i is " + i); } System.out.println("all done"); i 0

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia dell'esecuzione for (int i = 0; i < 3; ++i) { System.out.println("i is " + i); } System.out.println("all done"); i is 0 i 0

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia dell'esecuzione for (int i = 0; i < 3; ++i) { System.out.println(“i is " + i); } System.out.println(“all done"); i is 0 i 0

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia dell'esecuzione for (int i = 0; i < 3; ++i) { System.out.println("i is " + i); } System.out.println("all done"); i is 0 i 1

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia dell'esecuzione for (int i = 0; i < 3; ++i) { System.out.println("i is " + i); } System.out.println("all done"); i is 0 i 1

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia dell'esecuzione for (int i = 0; i < 3; ++i) { System.out.println("i is " + i); } System.out.println("all done"); i is 0 i is 1 i 1

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia dell'esecuzione for (int i = 0; i < 3; ++i) { System.out.println("i is " + i); } System.out.println("all done"); i is 0 i is 1 i 1

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia dell'esecuzione for (int i = 0; i < 3; ++i) { System.out.println("i is " + i); } System.out.println("all done"); i is 0 i is 1 i 2

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia dell'esecuzione for (int i = 0; i < 3; ++i) { System.out.println("i is " + i); } System.out.println("all done"); i is 0 i is 1 i 2

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia dell'esecuzione for (int i = 0; i < 3; ++i) { System.out.println("i is " + i); } System.out.println("all done"); i is 0 i is 1 i is 2 i 2

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia dell'esecuzione for (int i = 0; i < 3; ++i) { System.out.println("i is " + i); } System.out.println("all done"); i is 0 i is 1 i is 2 i 2

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia dell'esecuzione for (int i = 0; i < 3; ++i) { System.out.println("i is " + i); } System.out.println("all done"); i is 0 i is 1 i is 2 i 3

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia dell'esecuzione for (int i = 0; i < 3; ++i) { System.out.println("i is " + i); } System.out.println("all done"); i is 0 i is 1 i is 2 i 3

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Traccia dell'esecuzione for (int i = 0; i < 3; ++i) { System.out.println("i is " + i); } System.out.println("all done"); i is 0 i is 1 i is 2 all done 3 La variabile i è uscita dal suo ambito è locale al ciclo

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Cicli nidificati int m = 2; int n = 3; for (int i = 0; i < n; ++i) { System.out.println("i is " + i); for (int j = 0; j < m; ++j) { System.out.println(" j is " + j); }

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Cicli nidificati int m = 2; int n = 3; for (int i = 0; i < n; ++i) { System.out.println("i is " + i); for (int j = 0; j < m; ++j) { System.out.println(" j is " + j); } i is 0 j is 0 j is 1 i is 1 j is 0 j is 1 i is 2 j is 0 j is 1

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Lettura di un file  Nozioni di base BufferedReader è un flusso di input che, per ragioni di efficienza, utilizza un buffer per memorizzare l'input di caratteri System.in è una variabile InputStream. InputStream è la superclasse dei flussi di input di Java InputStreamReader offre una vista in caratteri dei byte che compongono il flusso di input

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Lettura di un file  Classe FileReader Sottoclasse di InputStreamReader che fornisce una vista di input di un file  Costruttore FileReader(String s) Apre il file con nome s in modo che i valori possano essere estratti Il nome può essere un nome di percorso assoluto o relativo alla cartella di lavoro corrente

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Lettura di un file BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Filename: "); String filename = stdin.readLine(); BufferedReader fileIn = new BufferedReader( new FileReader( filename ) ); String currentLine = fileIn.readLine(); while (currentLine != null) { System.out.println(currentLine); currentLine = fileIn.readLine(); } fileIn.close();

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Lettura di un file BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Filename: "); String filename = stdin.readLine(); BufferedReader fileIn = new BufferedReader( new FileReader( filename ) ); String currentLine = fileIn.readLine(); while (currentLine != null) { System.out.println(currentLine); currentLine = fileIn.readLine(); } fileIn.close(); Impostazione del flusso di input standard

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Lettura di un file BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Filename: "); String filename = stdin.readLine(); BufferedReader fileIn = new BufferedReader( new FileReader( filename ) ); String currentLine = fileIn.readLine(); while (currentLine != null) { System.out.println(currentLine); currentLine = fileIn.readLine(); } fileIn.close(); Determinazione del nome file

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Lettura di un file BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Filename: "); String filename = stdin.readLine(); BufferedReader fileIn = new BufferedReader( new FileReader( filename ) ); String currentLine = fileIn.readLine(); while (currentLine != null) { System.out.println(currentLine); currentLine = fileIn.readLine(); } fileIn.close(); Impostazione del flusso del file

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Lettura di un file BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Filename: "); String filename = stdin.readLine(); BufferedReader fileIn = new BufferedReader( new FileReader( filename ) ); String currentLine = fileIn.readLine(); while (currentLine != null) { System.out.println(currentLine); currentLine = fileIn.readLine(); } fileIn.close(); Elabora le righe una ad una

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Lettura di un file BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Filename: "); String filename = stdin.readLine(); BufferedReader fileIn = new BufferedReader( new FileReader( filename ) ); String currentLine = fileIn.readLine(); while (currentLine != null) { System.out.println(currentLine); currentLine = fileIn.readLine(); } fileIn.close(); Ottiene la prima riga

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Lettura di un file BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Filename: "); String filename = stdin.readLine(); BufferedReader fileIn = new BufferedReader( new FileReader( filename ) ); String currentLine = fileIn.readLine(); while (currentLine != null) { System.out.println(currentLine); currentLine = fileIn.readLine(); } fileIn.close(); Assicura la presenza di una riga da elaborare

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Lettura di un file BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Filename: "); String filename = stdin.readLine(); BufferedReader fileIn = new BufferedReader( new FileReader( filename ) ); String currentLine = fileIn.readLine(); while (currentLine != null) { System.out.println(currentLine); currentLine = fileIn.readLine(); } fileIn.close(); Visualizza la riga corrente

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Lettura di un file BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Filename: "); String filename = stdin.readLine(); BufferedReader fileIn = new BufferedReader( new FileReader( filename ) ); String currentLine = fileIn.readLine(); while (currentLine != null) { System.out.println(currentLine); currentLine = fileIn.readLine(); } fileIn.close(); Ottiene la riga successiva

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Lettura di un file BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Filename: "); String filename = stdin.readLine(); BufferedReader fileIn = new BufferedReader( new FileReader( filename ) ); String currentLine = fileIn.readLine(); while (currentLine != null) { System.out.println(currentLine); currentLine = fileIn.readLine(); } fileIn.close(); Assicura la presenza di una riga da elaborare Altrimenti il ciclo è terminato

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Lettura di un file BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Filename: "); String filename = stdin.readLine(); BufferedReader fileIn = new BufferedReader( new FileReader( filename ) ); String currentLine = fileIn.readLine(); while (currentLine != null) { System.out.println(currentLine); currentLine = fileIn.readLine(); } fileIn.close(); Chiude il flusso del file

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl L'istruzione do-while  Sintassi do Azione while ( Espressione )  Semantica Esegui Azione Se Espressione è true allora esegui Azione Ripeti il processo fino a quando Espressione restituisce false  Azione è una singola istruzione o un gruppo di istruzioni tra parentesi graffe azione true false Espressione

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Estrazione delle cifre  Considerare System.out.print("Enter a positive number: "); int n = Integer.parseInt(stdin.readLine()); do { int digit = number % 10; System.out.println(digit); number = number / 10; } while (number != 0);  Comportamento di esempio Enter a positive number: