Esercizi e progetti di programmazione - Apogeo
Esercizi e progetti di programmazione - Apogeo
Esercizi e progetti di programmazione - Apogeo
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
etnirPolleH ssalc cilbup<br />
{<br />
)sgra ][gnirtS(niam <strong>di</strong>ov citats cilbup<br />
{<br />
;)”n\!dlroW ,olleH”(tnirp.tuo.metsyS<br />
}<br />
}<br />
ESERCIZI E PROGETTI DI PROGRAMMAZIONE E–51<br />
Naturalmente, se eseguite due volte Reverse sullo stesso fi le, ottenete <strong>di</strong> nuovo l’originale.<br />
* <strong>Esercizi</strong>o P11.8. Recuperate i dati relativi ai nomi usati nei decenni scorsi (Social Security<br />
Administration), inserendoli in fi le <strong>di</strong> nome babynames80s.txt, ecc. Mo<strong>di</strong>fi cate il programma<br />
BabyNames.java in modo che chieda all’utente il nome <strong>di</strong> un fi le. I numeri all’interno dei fi le sono<br />
separati da virgole, quin<strong>di</strong> dovete mo<strong>di</strong>fi care il programma in modo che gestisca questo formato.<br />
Siete in grado <strong>di</strong> in<strong>di</strong>viduare una tendenza, osservando le frequenze?<br />
* <strong>Esercizi</strong>o P11.9. Scrivete un programma che legga un fi le nel formato <strong>di</strong> babynames.txt e<br />
generi due fi le, boynames.txt e girlnames.txt, separando i dati relativi a maschi e femmine.<br />
** <strong>Esercizi</strong>o P11.10. Scrivete un programma che legga un fi le nel formato <strong>di</strong> babynames.txt e<br />
visualizzi tutti i nomi che sono sia maschili sia femminili (come Alexis o Morgan).<br />
*** <strong>Esercizi</strong>o P11.11. Scrivete un programma che sostituisca in un fi le tutti i caratteri <strong>di</strong> tabulazione<br />
‘\t’ con l’adeguato numero <strong>di</strong> spazi. La <strong>di</strong>stanza predefi nita fra colonne <strong>di</strong> tabulazione è costante e<br />
pari a 3, il valore che usiamo in questo libro per i programmi Java, ma l’utente può specifi care un<br />
valore <strong>di</strong>verso. Sostituite i caratteri <strong>di</strong> tabulazione con il numero <strong>di</strong> spazi necessari per passare alla<br />
successiva colonna <strong>di</strong> tabulazione: potrebbe trattarsi <strong>di</strong> meno <strong>di</strong> tre spazi. Per esempio, considerate<br />
la riga “\t|\t||\t|”: il primo carattere <strong>di</strong> tabulazione viene sostituito da tre spazi, il secondo da<br />
due spazi e il terzo da uno spazio. Il programma viene eseguito in questo modo:<br />
oppure:<br />
java TabExpander nomeFile<br />
java TabExpander –t ampiezzaDiTabulazione nomeFile<br />
* <strong>Esercizi</strong>o P11.12. Mo<strong>di</strong>fi cate la classe BankAccount in modo che lanci un’eccezione <strong>di</strong> tipo<br />
IllegalArgumentException quando viene costruito un conto con saldo negativo, quando viene<br />
versata una somma negativa o quando viene prelevata una somma che non sia compresa tra 0 e il<br />
saldo del conto. Scrivete un programma <strong>di</strong> prova che provochi il lancio <strong>di</strong> tutte e tre le eccezioni,<br />
catturandole.<br />
** <strong>Esercizi</strong>o P11.13. Ripetete l’esercizio precedente, ma lanciate eccezioni <strong>di</strong> tre tipi defi niti da<br />
voi.<br />
** <strong>Esercizi</strong>o P11.14. Scrivete un programma che chieda all’utente <strong>di</strong> inserire un insieme <strong>di</strong> valori<br />
in virgola mobile. Quando viene inserito un valore che non è un numero, date all’utente una seconda<br />
possibilità <strong>di</strong> introdurre un valore corretto e, dopo due tentativi, fate terminare il programma.<br />
Sommate tutti i valori specifi cati in modo corretto e, quando l’utente ha terminato <strong>di</strong> inserire dati,<br />
visualizzate il totale. Usate la gestione delle eccezioni per identifi care i valori <strong>di</strong> ingresso non vali<strong>di</strong>.<br />
** <strong>Esercizi</strong>o P11.15. Ripetete l’esercizio precedente, ma consentite all’utente tutti i tentativi necessari<br />
per inserire un valore corretto. Terminate il programma soltanto quando l’utente inserisce<br />
una riga vuota.<br />
Cay Horstmann: Concetti <strong>di</strong> informatica e fondamenti <strong>di</strong> Java 5 a ed. - Copyright 2010 <strong>Apogeo</strong> srl