// Variabile utilizzata esclusivamente nei cicli DO... WHILE per la verifica dei dati
|
|
- Faustino Pastore
- 4 anni fa
- Visualizzazioni
Transcript
1 import java.io.*; public class MainSolidi { public static void main(string args[]) throws IOException { String stringainput = new String(); InputStreamReader lettoreflussoingresso = new InputStreamReader(System.in); BufferedReader tastiera = new BufferedReader(lettoreFlussoIngresso); // Creazione degli oggetti delle classi "Cilindro", "Cono" e "Sfera", che implementano l'interfaccia "SolidoRotazione". Cilindro cilindro = new Cilindro(); Cono cono = new Cono(); Sfera sfera = new Sfera(); double raggio = 0.0; double altezza = 0.0; double apotema = 0.0; char sceltautente = '_'; d'ingresso. riavviarlo. boolean boolean condizionenuovaelaborazioneprogramma = false; boolean condizioneuscitaprogramma = false; boolean condizioneriavvioprogramma = false; // Variabile utilizzata esclusivamente nei cicli DO... WHILE per la verifica dei dati // Variabile utilizzata per l'esecuzione di una nuova elaborazione del programma senza // Variabile utilizzata per terminare l'esecuzione del programma. // Variabile utilizzata per il riavvio del programma. System.out.print("\n\n\n\n"); // Punto di inizio per il riavvio del programma. condizioneriavvioprogramma = false; System.out.print("\n\tProgramma parte teorica \"MainSolidi\", pagina 216."); System.out.print("\n\tScrivere \"ESCI\" oppure \"E\" oppure \"EXIT\" in minuscolo o maiuscolo per uscire dal programma."); System.out.print("\n\tScrivere \"RIAVVIA\" oppure \"R\" oppure \"RESTART\" in minuscolo o maiuscolo per riavviare il programma."); System.out.print("\n\tQuesto programma per mette di calcolare la superficie e il volume dei solidi cilindro, cono e sfera,\n\tinserendo come dati la loro misura del raggio e dell\'altezza.\n"); // Punto di inizio per l'esecuzione di una nuova elaborazione del programma senza riavviarlo. condizionenuovaelaborazioneprogramma = false; condizioneuscitaprogramma = false; if (condizioneuscitaprogramma==false) { // Inizio del ciclo DO... WHILE per la verifica del valore inserito dall'utente relativo alla misura del raggio dei solidi cilindro, cono e sfera. condizioneciclodowhile = true; System.out.print("\tInserire la misura del raggio dei solidi cilindro, cono e sfera (in cm): "); stringainput = tastiera.readline(); if (esci(stringainput)==true) { System.out.print("\tTERMINE DELL\'ESECUZIONE DEL PROGRAMMA.\n"); else if (riavvia(stringainput)==true) { Pag. 1 di 11
2 DECIMALE).\n"); DECIMALE).\n"); condizioneriavvioprogramma = true; System.out.print("\tRIAVVIO DEL PROGRAMMA IN CORSO...\n"); else if (eliminaspazi(stringainput).length()==0) System.out.print("\tATTENZIONE: non hai inserito alcun valore.\n"); else if (trovanumerodecimale(stringainput)==false) System.out.print("\tATTENZIONE: non hai inserito un numero in un formato valido (devi inserire un numero INTERO o stringainput = eliminaspazi(stringainput); raggio = Double.parseDouble(stringaInput); raggio = (double) Math.round(raggio*100.0)/100.0; if (raggio==0) System.out.print("\tATTENZIONE: hai inserito un valore pari a 0.\n"); else if (raggio<0) System.out.print("\tATTENZIONE: hai inserito un valore minore di 0.\n"); cilindro.raggio(raggio); cono.raggio(raggio); sfera.raggio(raggio); while (condizioneciclodowhile==true); Pag. 2 di 11 // Arrotondamento del valore a 2 cifre decimali. if (condizioneuscitaprogramma==false) { // Inizio del ciclo DO... WHILE per la verifica del valore inserito dall'utente relativo all'altezza dei solidi cilindro e cono. condizioneciclodowhile = true; System.out.print("\tInserire la misura dell\'altezza dei solidi cilindro e cono (in cm): "); stringainput = tastiera.readline(); if (esci(stringainput)==true) { System.out.print("\tTERMINE DELL\'ESECUZIONE DEL PROGRAMMA.\n"); else if (riavvia(stringainput)==true) { condizioneriavvioprogramma = true; System.out.print("\tRIAVVIO DEL PROGRAMMA IN CORSO...\n"); else if (eliminaspazi(stringainput).length()==0) System.out.print("\tATTENZIONE: non hai inserito alcun valore.\n"); else if (trovanumerodecimale(stringainput)==false) System.out.print("\tATTENZIONE: non hai inserito un numero in un formato valido (devi inserire un numero INTERO o stringainput = eliminaspazi(stringainput); altezza = Double.parseDouble(stringaInput); altezza = (double) Math.round(altezza*100.0)/100.0; // Arrotondamento del valore a 2 cifre decimali. if (altezza==0) System.out.print("\tATTENZIONE: hai inserito un valore pari a 0.\n");
3 cifre decimali. else if (altezza<0) System.out.print("\tATTENZIONE: hai inserito un valore minore di 0.\n"); cilindro.altezza(altezza); cono.altezza(altezza); while (condizioneciclodowhile==true); if (condizioneuscitaprogramma==false) { { // Inizio del blocco di elaborazione per il calcolo della misura dell\'apotema del solido cono arrotondando il valore a 2 apotema = (double) Math.round((Math.sqrt(raggio*raggio+altezza*altezza))*100.0)/100.0; cono.apotema(apotema); { // Inizio del blocco di elaborazione per il calcolo della superficie e del volume dei solidi cilindro, cono e sfera, richiamando i metodi degli oggetti delle varie classi. System.out.print("\n\tSuperficie del cilindro: " + (double) Math.round(cilindro.superficie()*100.0)/ "\tcm^2"); System.out.print("\n\tSuperficie del cono: " + (double) Math.round(cono.superficie()*100.0)/ "\tcm^2"); System.out.print("\n\tSuperficie della sfera: " + (double) Math.round(sfera.superficie()*100.0)/ "\tcm^2"); System.out.print("\n\tVolume del cilindro: " + (double) Math.round(cilindro.volume()*100.0)/ "\tcm^3"); System.out.print("\n\tVolume del cono: " + (double) Math.round(cono.volume()*100.0)/ "\tcm^3"); System.out.print("\n\tVolume della sfera: " + (double) Math.round(sfera.volume()*100.0)/ "\tcm^3\n\n"); if (condizioneuscitaprogramma==false) { // Inizio del ciclo DO... WHILE per la verifica dell'opzione scelta dall'utente relativa alla richiesta del programma di eseguire una nuova elaborazione. condizioneciclodowhile = true; System.out.print("\tVuoi eseguire nuovamente il programma (S) o (N)? "); stringainput = tastiera.readline(); if (esci(stringainput)==true) { System.out.print("\tTERMINE DELL\'ESECUZIONE DEL PROGRAMMA.\n"); else if (riavvia(stringainput)==true) { condizioneriavvioprogramma = true; System.out.print("\tRIAVVIO DEL PROGRAMMA IN CORSO...\n"); else if (eliminaspazi(stringainput).length()==0) System.out.print("\tATTENZIONE: non hai scelto alcuna opzione.\n"); stringainput = eliminaspazi(stringainput); if (stringainput.length()>1) System.out.print("\tATTENZIONE: hai scelto un\'opzione non valida.\n"); stringainput = stringainput.touppercase(); Pag. 3 di 11
4 while (condizioneciclodowhile==true); while (condizionenuovaelaborazioneprogramma==true); while (condizioneriavvioprogramma==true); System.out.print("\n\n\n\n"); sceltautente = stringainput.charat(0); if ((sceltautente!='s')&&(sceltautente!='n')) System.out.print("\tATTENZIONE: hai scelto un\'opzione non in elenco.\n"); else if (sceltautente=='s') { condizionenuovaelaborazioneprogramma = true; else // Metodo privato statico per la ricerca delle parole "EXIT" o "ESCI" o della lettera "E" in una stringa di testo dopo sono presenti degli spazi. private static boolean esci(string stringa) { int j = 0; boolean condizioneuscitaprogramma = false; boolean boolean trovatoprimocaratterediversodaspaziatura = false; boolean trovatospaziaturadopocarattere = false; condizioneciclodowhile = true; // Questa condizione si verifica quando l'utente inserisce una stringa vuota, e termina subito l'esecuzione del metodo restituendo per la variabile booleana "condizioneuscita" un valore pari a FALSE. if (stringa.length()==0) else for (int i = 0; i< stringa.length(); i++) { // Queste condizioni, eliminano gli eventuali spazi che (nella stringa) precedono la parola ricercata. Appena viene trovato un carattere diverso da quello di spaziatura, viene assegnata alla variabile "trovatoprimocaratterediversodaspaziatura" un valore booleano pari a TRUE, causando il salto di queste istruzioni di selezione nelle successive iterazioni del ciclo FOR. if ((trovatoprimocaratterediversodaspaziatura==false)&&(stringa.charat(i)!=' ')) { trovatoprimocaratterediversodaspaziatura = true; if ((trovatoprimocaratterediversodaspaziatura==false)&&(stringa.charat(i)==' ')) { stringa = stringa.substring(0, i) + stringa.substring((i+1), stringa.length()); // Questa condizione si verifica quando (dopo aver eliminato gli eventuali caratteri di spaziatura che precedono la parola da ricercare) compare una sequenza di più caratteri consecutivi che formano una parola. Vengono contate le lettere della parola fino a quando non viene trovato (eventualmente) un altro carattere di spaziatura. if ((trovatoprimocaratterediversodaspaziatura==true )&&(trovatospaziaturadopocarattere==false)&&(stringa.charat(i)!=' ')) j++; Pag. 4 di 11
5 else trovatospaziaturadopocarattere = true; // Queste condizioni (dopo aver spostato la prima parola nella prima parte della stringa) verificano che non vi siano caratteri diversi da quello di spaziatura (che vengolo eliminati) dopo la parola. if ((trovatospaziaturadopocarattere==true)&&(i==j)&&(stringa.charat(i)==' ')) { stringa = stringa.substring(0, i) + stringa.substring((i+1), stringa.length()); else if ((trovatospaziaturadopocarattere==true)&&(i==j)&&(stringa.charat(i)!=' ')) { // Questa condizione si verifica quando (dopo aver isolato nella stringa solo la prima parola o lettera trovata e aver eliminato gli eventuali spazi) l'indice "i" del ciclo FOR giunge all'ultima lettera della parola (posizione dell'ultima lettera -1). Il metodo verifica che la parola o la lettera rimanente nella stringa corrisponda alle parole ricercate "EXIT" o "E" o "ESCI" e in caso affermativo assegna alla variabile booleana "condizioneuscita" un valore pari a TRUE. if (i==stringa.length()-1) { stringa = stringa.touppercase(); if ((stringa.equalsignorecase("e")) stringa.equalsignorecase("exit") (stringa.equalsignorecase("esci"))) { else while (condizioneciclodowhile==true); return condizioneuscitaprogramma; // Metodo privato statico per la ricerca delle parole "RESTART" o "RIAVVIA" o della lettera "R" in una stringa di testo dopo sono presenti degli spazi. private static boolean riavvia(string stringa) { int j = 0; boolean condizioneriavvioprogramma = false; boolean boolean trovatoprimocaratterediversodaspaziatura = false; boolean trovatospaziaturadopocarattere = false; condizioneciclodowhile = true; // Questa condizione si verifica quando l'utente inserisce una stringa vuota, e termina subito l'esecuzione del metodo restituendo per la variabile booleana "condizioneuscita" un valore pari a FALSE. if (stringa.length()==0) else for (int i = 0; i< stringa.length(); i++) { // Queste condizioni, eliminano gli eventuali spazi che (nella stringa) precedono la parola ricercata. Appena viene trovato un carattere diverso da quello di spaziatura, viene assegnata alla variabile "trovatoprimocaratterediversodaspaziatura" un valore booleano pari a TRUE, causando il salto di queste istruzioni di selezione nelle successive iterazioni del ciclo FOR. if ((trovatoprimocaratterediversodaspaziatura==false)&&(stringa.charat(i)!=' ')) { Pag. 5 di 11
6 trovatoprimocaratterediversodaspaziatura = true; if ((trovatoprimocaratterediversodaspaziatura==false)&&(stringa.charat(i)==' ')) { stringa = stringa.substring(0, i) + stringa.substring((i+1), stringa.length()); // Questa condizione si verifica quando (dopo aver eliminato gli eventuali caratteri di spaziatura che precedono la parola da ricercare) compare una sequenza di più caratteri consecutivi che formano una parola. Vengono contate le lettere della parola fino a quando non viene trovato (eventualmente) un altro carattere di spaziatura. if ((trovatoprimocaratterediversodaspaziatura==true )&&(trovatospaziaturadopocarattere==false)&&(stringa.charat(i)!=' ')) j++; else trovatospaziaturadopocarattere = true; // Queste condizioni (dopo aver spostato la prima parola nella prima parte della stringa) verificano che non vi siano caratteri diversi da quello di spaziatura (che vengolo eliminati) dopo la parola. if ((trovatospaziaturadopocarattere==true)&&(i==j)&&(stringa.charat(i)==' ')) { stringa = stringa.substring(0, i) + stringa.substring((i+1), stringa.length()); else if ((trovatospaziaturadopocarattere==true)&&(i==j)&&(stringa.charat(i)!=' ')) { // Questa condizione si verifica quando (dopo aver isolato nella stringa solo la prima parola o lettera trovata e aver eliminato gli eventuali spazi) l'indice "i" del ciclo FOR giunge all'ultima lettera della parola (posizione dell'ultima lettera -1). Il metodo verifica che la parola o la lettera rimanente nella stringa corrisponda alle parole ricercate "RESTART" o "R" o "RIAVVIA" e in caso affermativo assegna alla variabile booleana "condizioneuscita" un valore pari a TRUE. if (i==stringa.length()-1) { stringa = stringa.touppercase(); if ((stringa.equalsignorecase("r")) stringa.equalsignorecase("restart") (stringa.equalsignorecase("riavvia"))) { condizioneriavvioprogramma = true; else while (condizioneciclodowhile==true); return condizioneriavvioprogramma; // Metodo privato statico per la stampa a video. private static void stampa(string stringa) { System.out.print(stringa); // Metodo privato statico per l'eliminazione degli spazi in una stringa di testo. private static String eliminaspazi(string stringa) { boolean trovatocaratteredispaziatura = false; Pag. 6 di 11
7 trovatocaratteredispaziatura = false; for (int i = 0; i<stringa.length(); i++) { if (stringa.charat(i)==' ') { stringa = stringa.substring(0, i) + stringa.substring((i+1), stringa.length()); trovatocaratteredispaziatura = true; while (trovatocaratteredispaziatura==true); return stringa; // Metodo privato statico per l'eliminazione degli spazi ridondanti in una stringa di testo. Elimina gli spazi doppi, e quelli all'inizio e alla fine di una stringa di testo dove è presente almeno un carattere diverso da quello di spaziatura. private static String eliminaspaziineccesso(string stringa) { boolean trovatocaratteredispaziatura = false; boolean trovatocaratterediversodaspazio = false; trovatocaratteredispaziatura = false; for (int i = 0; i<stringa.length()-1; i++) if ((stringa.charat(i)==' ')&&(stringa.charat(i+1)==' ')) { trovatocaratteredispaziatura = true; while (trovatocaratteredispaziatura==true); trovatocaratteredispaziatura = false; for (int i = 0; i<stringa.length(); i++) { // Questa condizione si verifica quando vengono trovati dei caratteri di spaziatura all'inizio di una stringa di testo e li elimina. if ((trovatocaratterediversodaspazio==false)&&(stringa.charat(i)==' ')) { trovatocaratteredispaziatura = true; // Questa condizione si verifica quando viene trovato per la prima volta un carattere diverso da quello di spaziatura. else if ((trovatocaratterediversodaspazio==false)&&(stringa.charat(0)!=' ')) { trovatocaratterediversodaspazio = true; // Questa condizione si verifica quando viene trovato un carattere di spaziatura alla fine di una stringa di testo e lo elimina. else if (stringa.charat(stringa.length()-1)==' ') { stringa = stringa.substring(0, stringa.length()-1); trovatocaratteredispaziatura = true; while (trovatocaratteredispaziatura==true); return stringa; // Metodo privato statico per la ricerca di un solo numero INTERO in una stringa di testo dove sono presenti degli spazi. Pag. 7 di 11
8 private static boolean trovanumerointero (String stringa) { int j = 0; boolean trovatounnumerointero = false; boolean trovatouncaratterenonvalido = false; boolean trovatospazioa = false; boolean trovatospaziob = false; boolean trovataunacifra = false; boolean trovatounprimocaratterevalido = false; boolean trovatounospaziodopouncaratterevalido = false; trovatospazioa = false; trovatospaziob = false; for (int i = 0; i<stringa.length(); i++) { // Questa condizione verifica che non vengano mai inseriti caratteri non validi (diversi dalla cifre da 0 a 9, dal segno negativo (-) o positivo (+) e dai caratteri di spaziatura ( )). if ((trovatounospaziodopouncaratterevalido==false)&&(trovatounprimocaratterevalido==false)&&((stringa.charat(i)!=' ')&&(stringa.charat(i)!='- ')&&(stringa.charat(i)!='+')&&(stringa.charat(i)!='0')&&(stringa.charat(i)!='1')&&(stringa.charat(i)!='2')&&(stringa.charat(i)!='3')&&(stringa.charat(i)!='4')&&(str inga.charat(i)!='5')&&(stringa.charat(i)!='6')&&(stringa.charat(i)!='7')&&(stringa.charat(i)!='8')&&(stringa.charat(i)!='9'))) { trovatounnumerointero = false; // Questa condizione verifica che non vengano inseriti altri segni negativi (-) o positivi (+) dopo il primo carattere valido. In caso contrario, il programma restituisce un valore booleano FALSE per la variabile "trovatounnumerointero" e termina il ciclo iterativo FOR. else if ((trovatounospaziodopouncaratterevalido==false)&&(trovatounprimocaratterevalido==true)&&((stringa.charat(i)!=' ')&&(stringa.charat(i)!='0')&&(stringa.charat(i)!='1')&&(stringa.charat(i)!='2')&&(stringa.charat(i)!='3')&&(stringa.charat(i)!='4')&&(stringa.charat(i)!='5')&&(str inga.charat(i)!='6')&&(stringa.charat(i)!='7')&&(stringa.charat(i)!='8')&&(stringa.charat(i)!='9'))) { trovatounnumerointero = false; // Questa condizione si verifica eventualmente solo una volta, appena viene trovato come primo carattere valido un segno negativo (-) o positivo (+). else if ((trovatounospaziodopouncaratterevalido==false)&&(trovatounprimocaratterevalido==false)&&((stringa.charat(i)=='- ') (stringa.charat(i)=='+'))) { trovatounprimocaratterevalido = true; // Questa condizione si verifica eventualmente solo una volta, appena viene trovato come carattere valido una cifra da 0 a 9. Questo ramo della selezione serve per verificare che nella stringa vi sia almeno un cifra. else if ((trovatounospaziodopouncaratterevalido==false)&&(trovataunacifra==false)&&((stringa.charat(i)=='0') (stringa.charat(i)=='1') (stringa.charat(i)=='2') (stringa.c harat(i)=='3') (stringa.charat(i)=='4') (stringa.charat(i)=='5') (stringa.charat(i)=='6') (stringa.charat(i)=='7') (stringa.charat(i)=='8') (stringa.charat(i) =='9'))) { trovataunacifra = true; trovatounnumerointero = true; trovatounprimocaratterevalido = true; // Questa condizione si verifica eventualmente tutte le volte che viene trovato un carattere di spaziatura prima di un carattere valido e lo elimina. else if ((trovatounprimocaratterevalido==false)&&(stringa.charat(i)==' ')) { trovatospazioa = true; Pag. 8 di 11
9 // Questa condizione si verifica eventualmente solo una volta, appena viene trovato un carattere di spaziatura dopo un carattere valido e lo elimina. Viene settata la variabile "j" = i e la variabile "trovatounospaziodopouncaratterevalido" = TRUE per bypassare l'elaborazione dei primi 4 rami della struttura di selezione semplice del metodo. else if ((stringa.charat(i)==' ')&&(j==0)) { trovatospaziob = true; trovatounospaziodopouncaratterevalido = true; j = i; // Questa condizione si verifica eventualmente tutte le volte che viene trovato un secondo carattere di spaziatura dopo un carattere valido ed elimina tutti gli spazi dopo il numero intero. else if ((stringa.charat(i)==' ')&&(i==j)) { trovatospaziob = true; // Questa condizione si verifica quando viene trovato un carattere diverso da quello di spaziatura dopo il numero intero. Il programma restituisce un valore booleano FALSE per la variabile "trovatounnumerodecimale" e interrompe il ciclo iterativo FOR. else if ((stringa.charat(i)!=' ')&&(i==j)) { trovatounnumerointero = false; // Questa condizione si verifica se viene trovata almeno una cifra nella stringa di testo. In caso contrario il programma restituisce un valore booleano FALSE per la variabile "trovatounnumerodecimale" e interrompe il ciclo iterativo FOR. else if (trovataunacifra!=true) { trovatounnumerointero = false; while ((trovatouncaratterenonvalido==false)&&((trovatospazioa==true) (trovatospaziob==true))); return trovatounnumerointero; // Metodo privato statico per la ricerca di un solo numero INTERO o DECIMALE in una stringa di testo dove sono presenti degli spazi. private static boolean trovanumerodecimale(string stringa) { int j = 0; boolean trovatounnumerointerodecimale = false; boolean trovatouncaratterenonvalido = false; boolean trovatospazioa = false; boolean trovatospaziob = false; boolean trovatounpuntoradice = false; boolean trovataunacifra = false; boolean trovatounprimocaratterevalido = false; boolean trovatounospaziodopouncaratterevalido = false; trovatospazioa = false; trovatospaziob = false; for (int i = 0; i<stringa.length(); i++) { // Questa condizione verifica che non vengano inseriti caratteri non validi (diversi dalle cifre da 0 a 9, dal segno negativo (-) e positivo (+), dal punto radice (.) e dal carattere di spaziatura( )). if ((trovatounospaziodopouncaratterevalido==false)&&(trovatounprimocaratterevalido==false)&&((stringa.charat(i)!=' ')&&(stringa.charat(i)!='- Pag. 9 di 11
10 ')&&(stringa.charat(i)!='+')&&(stringa.charat(i)!='.')&&(stringa.charat(i)!='0')&&(stringa.charat(i)!='1')&&(stringa.charat(i)!='2')&&(stringa.charat(i)!='3')&&(str inga.charat(i)!='4')&&(stringa.charat(i)!='5')&&(stringa.charat(i)!='6')&&(stringa.charat(i)!='7')&&(stringa.charat(i)!='8')&&(stringa.charat(i)!='9'))) { trovatounnumerointerodecimale = false; // Questa condizione si verifica quando viene trovato un segno negativo (-) o positivo (+) dopo un primo carattere valido; il programma restituisce un valore booleano FALSE per la variabile "trovatounnumerodecimale", interrompendo il ciclo FOR. else if ((trovatounospaziodopouncaratterevalido==false)&&(trovatounprimocaratterevalido==true)&&((stringa.charat(i)!=' ')&&(stringa.charat(i)!='.')&&(stringa.charat(i)!='0')&&(stringa.charat(i)!='1')&&(stringa.charat(i)!='2')&&(stringa.charat(i)!='3')&&(stringa.charat(i)!='4')&&(str inga.charat(i)!='5')&&(stringa.charat(i)!='6')&&(stringa.charat(i)!='7')&&(stringa.charat(i)!='8')&&(stringa.charat(i)!='9'))) { trovatounnumerointerodecimale = false; // Questa condizione si verifica quando viene trovato un secondo punto radice nel numero decimale; il programma restituisce un valore booleano FALSE per la variabile "trovatounnumerodecimale", interrompendo il ciclo FOR. else if ((trovatounospaziodopouncaratterevalido==false)&&(trovatounprimocaratterevalido==true)&&(trovatounpuntoradice==true)&&((stringa.charat(i)!=' ')&&(stringa.charat(i)!='0')&&(stringa.charat(i)!='1')&&(stringa.charat(i)!='2')&&(stringa.charat(i)!='3')&&(stringa.charat(i)!='4')&&(stringa.charat(i)!='5')&&(str inga.charat(i)!='6')&&(stringa.charat(i)!='7')&&(stringa.charat(i)!='8')&&(stringa.charat(i)!='9'))) { trovatounnumerointerodecimale = false; // Questa condizione si verifica eventualmente solo una volta, appena viene trovato come primo carattere valido un segno negativo (-) o positivo (+). else if ((trovatounospaziodopouncaratterevalido==false)&&(trovatounprimocaratterevalido==false)&&((stringa.charat(i)=='- ') (stringa.charat(i)=='+'))) { trovatounprimocaratterevalido = true; // Questa condizione si verifica eventualmente solo una volta, appena viene trovato come primo carattere valido un punto radice (.). else if ((trovatounospaziodopouncaratterevalido==false)&&(trovatounpuntoradice==false)&&(stringa.charat(i)=='.')) { trovatounpuntoradice = true; trovatounprimocaratterevalido = true; // Questa condizione si verifica eventualmente solo una volta, appena viene trovato come carattere valido una cifra da 0 a 9. Questo ramo della selezione serve per verificare che nella stringa vi sia almeno un cifra. else if ((trovatounospaziodopouncaratterevalido==false)&&(trovataunacifra==false)&&((stringa.charat(i)=='0') (stringa.charat(i)=='1') (stringa.charat(i)=='2') (stringa.c harat(i)=='3') (stringa.charat(i)=='4') (stringa.charat(i)=='5') (stringa.charat(i)=='6') (stringa.charat(i)=='7') (stringa.charat(i)=='8') (stringa.charat(i) =='9'))) { trovataunacifra = true; trovatounnumerointerodecimale = true; trovatounprimocaratterevalido = true; // Questa condizione si verifica eventualmente tutte le volte che viene trovato un carattere di spaziatura prima di un carattere valido e lo elimina. else if ((trovatounprimocaratterevalido==false)&&(stringa.charat(i)==' ')) { stringa = stringa.substring(i+1, stringa.length()); trovatospazioa = true; // Questa condizione si verifica eventualmente solo una volta, appena viene trovato un carattere di spaziatura dopo un carattere valido e lo elimina. Viene settata la variabile "j" = i e la variabile "trovatounospaziodopouncaratterevalido" = TRUE per bypassare l'elaborazione dei primi 6 rami di selezione del metodo. else if ((stringa.charat(i)==' ')&&(j==0)) { Pag. 10 di 11
11 trovatospaziob = true; trovatounospaziodopouncaratterevalido = true; j = i; // Questa condizione si verifica eventualmente tutte le volte che viene trovato un secondo carattere di spaziatura dopo un carattere valido ed elimina tutti gli spazi dopo il numero intero o decimale. else if ((stringa.charat(i)==' ')&&(i==j)) { stringa = stringa.substring(0, i) + stringa.substring(i+1,stringa.length()); trovatospaziob = true; // Questa condizione si verifica quando viene trovato un carattere diverso da quello di spaziatura dopo il numero decimale. Il programma restituisce un valore booleano FALSE per la variabile "trovatounnumerodecimale" e in terrompe il ciclo iterativo FOR. else if ((stringa.charat(i)!=' ')&&(i==j)) { trovatounnumerointerodecimale = false; // Questa condizione si verifica se viene trovata almeno una cifra nella stringa di testo. In caso contrario il programma restituisce un valore booleano FALSE per la variabile "trovatounnumerodecimale" e interrompe il ciclo iterativo FOR. else if (trovataunacifra!=true) { trovatounnumerointerodecimale = false; while ((trovatouncaratterenonvalido==false)&&((trovatospazioa==true) (trovatospaziob==true))); return trovatounnumerointerodecimale; Pag. 11 di 11
// Variabile utilizzata esclusivamente nei cicli DO... WHILE per la verifica dei dati
import java.io.*; public class Punto { private double x, y; public Punto (double valore_x, double valore_y) { this.x = valore_x; this.y = valore_y; public static void main(string args[]) throws IOException
Dettagli// Variabile utilizzata esclusivamente nei cicli DO... WHILE per la verifica dei dati. Pag. 1 di 12
import java.io.*; public class PosizionePunto { private double x; private double y; public void x(double valore_x) { this.x = valore_x; public void y(double valore_y) { this.y = valore_y; public double
Dettagli// Dichiarare le variabili d'istanza e i metodi di lettura e scrittura delle stesse utilizzando il reference predefinito THIS. //... //... //... //...
import java.io.*; public class This_EquazioneSecondoGra // Dichiarare le variabili d'istanza e i metodi di lettura e scrittura delle stesse utilizzando il reference predefinito THIS. //... //... //...
Dettagli// Variabile utilizzata per eseguire una nuova elaborazione del programma senza riavviarlo.
Un azienda vende 3 prodotti a 56 euro ciascuno e i successivi 8 prodotti a 66 euro. Determinare il prezzo medio di un singolo prodotto. Basare la soluzione del problema su un applet. import java.io.*;
Dettagliimport java.io.*; public class EU4_24 { private int stimaoreesecuzionelavori;
In un giardino quadrato di lato 56 metri deve essere sostituita la recinzione. Il preventivo presentato da un azienda di manutenzione prevede una spesa di 35 euro al metro di materiale e, inoltre, un costo
Dettagliimport java.io.*; public class EU4_23 { private double prezzoacquisto; private double percentualeguadagno;
Un dettagliante acquista un prodotto a 200 euro. Considerando che, per avere un sufficiente guadagno e recuperare le proprie spese, deve aumentare il costo del 70%, determinare il prezzo a cui dovrebbe
Dettagli// Variabile utilizzata per eseguire una nuova elaborazione del programma senza riavviarlo.
Un appartamento viene valutato 176.000 euro e dispone di 72 metri quadrati. Determinare il prezzo a metro quadrato impiegando un applicazione console. import java.io.*; public class EU4_16 { private int
Dettagliimport java.io.*; public class EU4_11 { private double larghezza; private double lunghezza; private double superficie;
Un terreno rettangolare ha una superficie complessiva di metri quadrati 15.498 e una base di metri 126. Determina l altezza impiegando un applet. SUGGERIMENTO: progettare e realizzare una classe Rettangolo
Dettagliimport java.io.*; public class EU4_25 { private String prodottoalimentare = new String();
Di 3 prodotti si conosce la quantità di grassi e proteine contenuti (in grammi) e anche le calorie (per 100 grammi di prodotto). Determinare: il prodotto meno grasso, il prodotto che ha una percentuale
Dettagliimport java.io.*; class Vettore { // Dichiarazione della variabile reference del vettore d'istanza.
import java.io.*; class Vettore { private double vettore[]; // Dichiarazione della variabile reference del vettore d'istanza. public Vettore(int numeroelementi) { if ((numeroelementi>0)&&(numeroelementi
Dettagliimport java.io.*; private double pagaoraria; private double pagacomplessivamensile;
Un lavoratore dipendente lavora 7 ore al giorno per 5 giorni la settimana, data la retribuzione complessiva mensile di 1227 euro, determinare la retribuzione oraria nell ipotesi che abbia lavorato complessivamente
Dettagliimport java.io.*; public class EU4_09 { private int giornilocazionea; private int giornilocazioneb; private double speselocazioneappartamento;
Due persone A e B hanno affittato un appartamento per 1 anno e in totale hanno sostenuto spese per 3100 euro. Dato che il Sig. A non ha utilizzato l alloggio per 80 giorni e che le spese sono ripartite
Dettagliimport public static boolean int boolean false boolean false boolean false boolean false true false
import java.util.arraylist; * Classe pubblica con metodi statici di utilità generale per: * la ricerca delle parole "EXIT" o "ESCI" o delle lettere "EE", scritte in maiuscolo o minuscolo, in una stringa
DettagliSystem.out.print("\tATTENZIONE: hi inserito un valore non valido!\n");
Creare un applicazione console che dato l indice della borsa di Milano nel giorno precedente, calcola la variazione percentuale rispetto al valore dell indice del giorno corrente. import java.io.*; public
Dettagliimport java.io.*; char sceltautente = '_'; boolean condizionesn = true; boolean condizionedowhile = true; boolean condizioneprogramma = true;
Un imposta sul reddito viene applicata in base alle seguenti fasce: fino a 35.000 euro 23% e oltre 35.000 euro 33%. Progettare un software, basato su un applicazione console, che, dato un certo reddito,
DettagliRealizzare un applicazione console che stampi la somma dei primi n numeri dispari oppure pari (a scelta dell operatore). import java.io.
Realizzare un applicazione console che stampi la somma dei primi n numeri dispari oppure pari (a scelta dell operatore). import java.io.*; public class M1_13 { public static void main(string args[]) throws
Dettagli// Costante utilizzata per ddefinire la lunghezza massima (in caratteri) di un nome.
import java.io.*; import java.util.arraylist; * * Questo programma rappresenta un tentativo di implementare un algoritmo per l'ordinamento alfabetico di una serie di stringhe (ad esempio i cognomi di un
Dettagliimport java.io.*; System.out.print("\tInserire la velocità (in km/h) dell\'automobile: ");
Un automobile di massa m (in kilogrammi) viaggia a una velocità v, in km/h. Realizzare un applicazione console che permetta di calcolare l energia cinetica E dell automobile espressa in joule. SUGGERIMENTO:
Dettagliimport java.io.*; System.out.print("\tInserire il valore (in OHM) della resistenza \"R1\": ");
Un circuito elettrico è formato da una batteria, di tensione E, che alimenta due resistori R 1 e R 2 in serie. Calcolare la corrente I erogata dalla batteria. Risolvere il problema mediante un applicazione
Dettagliimport java.io.*; System.out.print("\tInserire l\'altezza (in CM) delle piastrelle: "); stringainput = tastiera.readline();
Si vogliono inserire, su un terreno all interno di un giardino, delle mattonelle che è possibile ritagliare in varie dimensioni. Le mattonelle devono essere rettangolari, con la condizione che ogni mattonella,
Dettagliimport java.io.*; System.out.print("\tInserire il tasso di spesa: ");
Una famiglia, alla fine di ogni mese, percepisce un reddito di X euro. Nell ipotesi che ogni mese spenda un importo pari a T% del reddito totale (compresi i risparmi dei mesi precedenti) e che per tutto
Dettagliimport java.io.*; boolean condizioneciclo = true;
Un azienda agricola produce un tipo di frutta che vende a un grossista a 3 diversi prezzi al kilogrammo (X, Y e Z), che dipendono dalla pezzatura in grammi del frutto stesso (piccolo, medio e super). Dati
Dettagliimport java.io.*; double massa = 0.0; double velocità = 0.0; double coefficienteattrito = 0.0; int numeroveicoli = 0;
import java.io.*; public class Veicolo { private String nomeveicolo = ""; private final double g = 9.8; private double massa; private double velocità; private double coefficienteattrito; public static
DettagliRicercaSequenziale import public class public static void throws new new new int int int char boolean true true false false out true out out else
Algoritmo di ricerca sequenziale o lineare, in una Tabella con LunghezzaTabella righe. L algoritmo restituisce il valore TRUE in Trovato se la chiave di ricerca C esiste nel campo Chiave (numerico) della
Dettagliimport java.io.*; Pag. 1 di 9
Di 5 regioni italiane si conoscono i metri quadrati relativi alla pianura, alla collina e alla montagna. Determinare l ampiezza complessiva in metri quadrati della pianura, della collina e della montagna
Dettagliimport java.io.*; Pag. 1 di 15
8 studenti di 5 classi quinte hanno partecipato alle olimpiadi della matematica. Stampare l elenco degli studenti in ordine decrescente di punteggio ottenuto e la rispettiva classe di appartenenza. Realizzare
Dettagliimport java.io.*; class Quadrato implements FigureGeometrichePiane { private double lato;
Un giardino condominiale è formato da un quadrato di lato 30 metri inscritto in un cerchio. Si vogliono inserire nel quadrato delle piastrelle, anch esse quadrate, di lato 10 centimetri e dal costo di
DettagliPag. 1 di 7. import java.io.*;
Un azienda di CAD 2D deve realizzare un software per elaborare rettangoli, quadrati e triangoli. Delle tre figure geometriche si deve calcolare il perimetro e l area. Realizzare un software, il cui modulo
Dettagliimport java.io.*; import java.util.arraylist;
Dato un insieme di prodotti (dello stesso tipo ma con prezzi diversi) venduti in un supermercato, se ne stampi l elenco a partire da quello con il prezzo più elevato. Risolvere il problema mediante un
DettagliPag. 1 di 22. import java.io.*; import java.util.arraylist;
Una famiglia di 3 persone ha trascorso 10 giorni in vacanza in un agriturismo (al prezzo di X euro al giorno per persona) e 15 giorni in un campeggio (al prezzo di Y euro per giornata di soggiorno + Z
Dettagliimport java.io.*; class Box { private int prezzovenditabox;
Un agenzia immobiliare intende valutare un immobile composto da 2 appartamenti, rispettivamente di 80 e 90 metri quadrati, diversi tra loro per posizione e caratteristiche. Al primo appartamento viene
DettagliPag. 1 di 5. private Color C0 = new Color(255, 0, 0);
Un manuale è formato da 250 pagine, In 210 di essi sono presenti 40 righe di testo, mentre nelle restanti solo 36. Determinare il numero complessivo di righe di testo del manuale. Risolvere il problema
Dettagli// Costante utilizzata per definire il numero massimo di serie che il programma può generare.
import java.io.*; import java.util.random; import java.util.arraylist; /** * Applicazione per la creazione di serie di numeri casuali e di serie di numeri basate sul calcolo dei ritardatari per il gioco
DettagliPag. 1 di 67. class Telefono implements Serializable { private String telefono = new String(""); private String descrizionetelefono = new String("");
import java.io.*; import java.text.dateformat; import java.util.arraylist; import java.util.calendar; import java.util.date; import java.util.locale; import java.util.timezone; /** * Programma per la gestione
Dettagliimport import import import import import import class implements private int public return this class implements private new private new public
Un immobile è formato da un appartamento e un magazzino. L amministratore chiede un anticipo ai proprietari per le spese di riscaldamento che viene deciso, considerate le perticolari caratteristiche dei
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzione condizionale switch Istruzioni di salto break e continue Uso di variabili di tipo boolean Variabili di tipo array (monodimensionali)
Dettaglipublic static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;
Metodi iterativi con array monodimensionali 1. Scrivere un metodo che, dato un array di interi a, restituisce il valore minimo in a. public static int minimo (int[] a) { int min = a[0]; for (int i=1; i
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzioni di controllo Iterative Condizionali Algoritmi e Diagrammi di flusso Esercizi 28/03/2011 2 Istruzioni iterative while do
DettagliAlgebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
DettagliLaboratorio di Programmazione Lezione 2. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]
DettagliIterazioni. L istruzione while. while (condition) istruzione
Iterazioni L istruzione while while (condition) istruzione Ripete l esecuzione di istruzione fino a che la condizione resta vera while (balance < targetbalance) year++; double interest = balance * rate
DettagliLe basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
DettagliAnno Accademico 2003/04. Docente modulo 1: Annalisa De Bonis. Ripete l esecuzione di statement fino a che la condizione e` verificata
Iterazioni Anno Accademico 2003/04 Docente modulo 1: Lo statement while while (condition) statement; Ripete l esecuzione di statement fino a che la condizione e` verificata while (balance < targetbalance)
DettagliTecniche iterative. Walter Didimo
Tecniche iterative Walter Didimo Tecniche iterative In questa lezione svolgeremo alcuni esercizi di definizione di classi con metodi che usano istruzioni condizionali istruzioni iterative Gli esercizi
DettagliProgrammazione a oggetti e JAVA. Prof. B.Buttarazzi A.A. 2011/2012
Programmazione a oggetti e JAVA Prof. B.Buttarazzi A.A. 2011/2012 Il tipo di dato boolean Il tipo di dato enum Sommario Istruzioni condizionali (o di selezione) if switch Istruzioni di salto break continue
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario La classe String Lettura da input di dati numerici (tipo int) Stampa di dati numerici Uno sguardo al codice Esercizi 21/03/2011 2
DettagliIL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA3 3B1 Record e tabelle 1 Prerequisiti Programmazione elementare in Java Vettore e matrici Concetto di record Concetto di tabella 2 1 Introduzione In questa Unità vediamo
DettagliCostrutti iterativi. Utilizzo dei costrutti iterativi
Costrutti iterativi Utilizzo dei costrutti iterativi Costrutti iterativi (1/3) I costrutti iterativi permettono di eseguire ripetutamente del codice Il linguaggio Java mette a disposizione tre costrutti
DettagliIL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Prova Intermedia Marzo 2011 http://www.dia.uniroma3.it/~java/fondinf/ Prova Intermedia 1 Modalità della Prova Intermedia La Prova Intermedia
DettagliCorso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione
Corso: Fondamenti di Informatica (Gruppo 2) a.a. 2017-18 Corsi di laurea: Ing. Settore Informazione Questionario a Risposte Multiple per auto-valutazione del Lab05 Domanda n. 1 Argomento: Iterazioni, array
Dettagli3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso;
Un esempio di definizione di classe con array di oggetti Sia data la classe StudUniv per gli studenti universitari (definita in una lezione precedente). Scrivere una nuova classe Corso, dove ciascun corso
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliIL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma
DettagliMetodi statici. Dichiarazione e chiamata di metodi statici
Metodi statici Dichiarazione e chiamata di metodi statici Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un
DettagliCorso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO
Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Richiamo di una Proprietà Se la proprietà è privata, è visibile solo dai metodi della classe, se pubblica invece anche dai metodi al di fuori
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica a.a luglio 2011
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 22 luglio 2011 Testo Il database di un videonoleggio è costituito da due vettori paralleli.
DettagliAlgoritmi di Ricerca. Esempi di programmi Java. Prof. Angela Bonifati
Passaggio dei parametri in Java Nel seguente esempio public class parametri2 public static void main(string args[]) int x = 1; int y; double d[] = new double[2]; d[0] = 25; y= metodo1(d, x); System.out.println("Il
DettagliEsercizio 1: media di numeri reali (uso funzioni e struct)
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 5 Esercitazione: 2 novembre 2005 Esercizi sulle funzioni Esercizio 1: media di numeri reali (uso funzioni e struct) Le
DettagliNote ed esercizi aggiuntivi
Corso di Programmazione Anno Accademico 2015 2016 Prof. Giovanni Pighizzini Note ed esercizi aggiuntivi Gli esercizi proposti sono utili per rivedere gli esempi riportati, che sono stati sviluppati e discussi
DettagliCorso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 18. Iterazione. Maggio Iterazione
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 18 Maggio 2010 1 Contenuti Si vogliono formalizzare diverse tecniche per la risoluzione di problemi di: Accumulazione Conteggio Verifica
DettagliFondamenti di Informatica T-1. Variabili, costanti e operazioni Selezione
Variabili, costanti e operazioni Selezione 2 Variabili Dichiarazione di una variabile: ; Esempio: variabile numerica intera numauto: int numauto; Assegnare alla variabile
DettagliImpariamo a programmare in. Lezione 6
Impariamo a programmare in Decisioni Gestire un conto corrente double balance = 10000; // saldo iniziale System.out.println("Quanto vuoi prelevare? ); double amount = console.nextdouble(); balance = balance
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario API di Java Istruzione di scrittura Istruzione di lettura 21/03/2011 2 API di Java Java è un linguaggio orientato agli oggetti basato
DettagliAlberi Binario in Java
Alberi Binario in Java Realizzare un albero binario di ricerca. L albero binario è di ricerca se esiste una relazione di ordinamento tra i valori dei nodi (valori comparabili). In particolare, dato un
DettagliProgrammazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013
Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Array Array monodimensionali Array bidimensionali Esercizi 16/01/2013 2 ARRAY Gli array sono oggetti utilizzati in Java per memorizzare
DettagliProgrammazione in Java (I modulo) Lezione 4
Programmazione in Java (I modulo) Lezione 4 Costanti Chiamiamo costanti tutti i valori numerici (interi o con la virgola), i caratteri e le stringhe. Esempio: 2, 3.7, 'y, buongiorno Le costanti numeriche
DettagliIntroduzione a Java e all'ambiente di sviluppo
Introduzione a Java e all'ambiente di sviluppo Programmazione 2, a.a. 2006-2007 Nota: per esclusivo uso interno al corso, riferimenti bibliografici forniti a lezione Schema minimo di un applicazione public
DettagliLETTURA DI DATI DA INPUT. Gli stream di byte consentono già di leggere dati (numeri di vario tipo), tramite la classe DataInputStream
LETTURA DI DATI DA INPUT Gli stream di byte consentono già di leggere dati (numeri di vario tipo), tramite la classe DataInputStream LETTURA DI DATI DA INPUT Sfortunatamente, una tale classe non esiste
DettagliLezione 4 Casting, stringhe e caratteri, operatori relazionali, espressioni e variabili booleane
Lezione 4 Casting, stringhe e caratteri, operatori relazionali, espressioni e variabili booleane Barbara Rita Barricelli Corso di Laboratorio di Programmazione -Turno B (Cognomi M-Z) CdL in Informatica
DettagliIL LINGUAGGIO JAVA. Introduzione alla sintassi di Java La sintassi formalizza le regole sintattiche per scrivere frasi ben formate
Fondamenti di Informatica IL LINGUAGGIO JAVA Sintassi, Semantica, Input, Tipi Elementari e Istruzione Condizionale 1 Introduzione alla sintassi di Java La sintassi formalizza le regole sintattiche per
DettagliLa gestione delle eccezioni
La gestione delle eccezioni La gestione delle eccezioni Le eccezioni sono eventi che accadono in fase di esecuzione di un programma al verificarsi di una situazione anomala, come la divisione per 0, l'uso
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Eccezioni Categorie di eccezioni checked unchecked Gestione delle eccezioni Clausola throws Costrutto try - catch - finally Comando
DettagliBasi della programmazione in Java
Basi della programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Il concetto di variabile Uso delle variabili Dichiarazione Assegnamento Visualizzazione
DettagliNote ed esercizi aggiuntivi
Corso di Programmazione Anno Accademico 2015 2016 Prof. Giovanni Pighizzini ed esercizi aggiuntivi Gli esercizi proposti sono utili per rivedere gli esempi riportati, che sono stati sviluppati e discussi
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA 1 Struttura di un programma Java Un programma Java consiste in un insieme di definizioni di classi. In genere
DettagliMetodi statci. Dichiarazione e chiamata di metodi statci
Metodi statci Dichiarazione e chiamata di metodi statci Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un
DettagliCOMPITO DI LABORATORIO DI PROGRAMMAZIONE Dicembre Alcune Soluzioni
COMPITO DI LABORATORIO DI PROGRAMMAZIONE 2001-2002 10 Dicembre 2001 Alcune Soluzioni ESERCIZIO 1. Si consideri il seguente frammento di codice in linguaggio Java: int[][] a = new int[n][n]; for (int i
DettagliE17 Esercizi sugli Array in Java
E17 Esercizi sugli Array in Java Esercizio 1 (esercizio 9.1 del libro di testo). Implementare un metodo statico di nome stringacorta che prende come parametro un array di oggetti String e che restituisce
DettagliJava, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM
Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM ERRATA CORRIGE dei programmi della prima stampa (Aprile 2004) aggiornato al 20/05/2017 Nota: il codice corretto è ottenibile da quella errato
DettagliCOGNOME NOME MATRICOLA DATA
COGNOME NOME MATRICOLA DATA 1. Scrivere la classe Forno che ha i seguenti attributi marca: una stringa indicante la marca del forno, temperatura: un numero con la virgola indicante la temperatura che il
DettagliIngredienti sintattici di Java
Ingredienti sintattici di Java Eugenio G. Omodeo Dip. Matematica e Geoscienze DMI Trieste, 23/09/2015 Eugenio G. Omodeo Ingredienti sintattici di Java 1/7 Specificare ( Dizionario online tratto da: Grande
DettagliLaboratorio di Programmazione Ottobre. Simone Zaccaria
Laboratorio di Programmazione 27 31 Ottobre Simone Zaccaria Esercizio di Ripasso Scrivere un programma che: 1. dichiari 2 variabili a e b; 2. inizializzi le 2 variabili con valori numerici a scelta; 3.
DettagliArray. Definizione e utilizzo di vettori
Array Definizione e utilizzo di vettori Array (1/2) Un array o vettore rappresenta un insieme di elementi dello stesso tipo. Sintassi per la creazione di un array: tipo_elementi[] nome; nome = new tipo_elementi[numero_elementi];
DettagliEsercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni
Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizio 1 Dire quale è la complessità temporale del seguente metodo, espressa con notazione asintotica O(.) (con la migliore
DettagliEsercizi su array di array
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E10 C. Limongelli Gennaio 2010 1 Contenuti Fusione di due array ordinati, con eliminazione di duplicati Verifica array bidimensionale
Dettagli/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); }
import java.util.*; class coda * Questa classe contiene tutti i metodi per la gestione della coda * @author D'Ambrosio Giovanni Classe 4D I.T.I.S. Grottaminarda * @version 26/02/2010 * VETTORE DINAMICO
DettagliBasi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi
Basi della programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima Il concetto di variabile Uso delle variabili Dichiarazione Assegnamento Visualizzazione
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Metodi statici e array Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 14 METODI STATICI: Definizione Un metodo
Dettagli6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it
DettagliCOGNOME NOME MATRICOLA DATA
COGNOME NOME MATRICOLA DATA 1. Scrivere la classe Automobile che ha i seguenti attributi colore: una stringa indicante il colore dell automobile, velocità: un numero con la virgola indicante la velocità
DettagliL istruzione while. while (condition) istruzione
Iterazioni L istruzione while while (condition) istruzione Ripete l esecuzione di istruzione fino a che la condizione resta vera while (balance < targetbalance) { year++; double interest = balance * rate
DettagliInformatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica
Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,
DettagliProgrammazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013
Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Metodi statici Parametri attuali e formali Passaggio dei parametri Effetti collaterali Metodi statici per Array Esercizi 16/01/2013
DettagliCorso di Laurea Ingegneria Civile Elementi di Informatica. Esercizi. Carla Limongelli. Esercizi 1
Corso di Laurea Ingegneria Civile Elementi di Informatica Esercizi Carla Limongelli Esercizi 1 Quanti giorni in un mese? Scrivere un metodo che ricevuto in input un mese e un anno, restituisca il numero
DettagliE9 Esercizi sul Capitolo 9 Array
E9 Esercizi sul Capitolo 9 Array Esercizio 1 (esercizio 9.1 del libro di testo). Implementare un metodo statico di nome stringacorta che prende come parametro un array di oggetti String e che restituisce
Dettagli