31.05.2013 Views

Esercizi e progetti di programmazione - Apogeo

Esercizi e progetti di programmazione - Apogeo

Esercizi e progetti di programmazione - Apogeo

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!