Esercizi e progetti di programmazione - Apogeo
Esercizi e progetti di programmazione - Apogeo
Esercizi e progetti di programmazione - Apogeo
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
ESERCIZI E PROGETTI DI PROGRAMMAZIONE E–7<br />
**G <strong>Esercizi</strong>o P2.16. Scrivete un programma che <strong>di</strong>segni due quadrati colorati internamente, uno rosa<br />
e uno viola. Usate un colore standard per il primo e un colore personalizzato per l’altro. Progettate<br />
le classi TwoSquareViewer e TwoSquareComponent.<br />
***G <strong>Esercizi</strong>o P2.17. Scrivete un programma che riempia una fi nestra con una grande ellisse, che<br />
tocchi i bor<strong>di</strong> della fi nestra e che sia riempita con il vostro colore preferito, avendo però il contorno<br />
nero. L’ellisse deve ri<strong>di</strong>mensionarsi automaticamente quando si ri<strong>di</strong>mensiona la fi nestra.<br />
**G <strong>Esercizi</strong>o P2.18. Progettando le classi FaceViewer e FaceComponent, scrivete un programma per<br />
tracciare la faccia qui visibile.<br />
Progetti <strong>di</strong> <strong>programmazione</strong><br />
Progetto 2.1. La classe GregorianCalendar descrive un istante nel tempo, misurato secondo<br />
il calendario gregoriano, che è il calendario adottato oggi come standard in tutto il mondo. Si<br />
costruisce un oggetto <strong>di</strong> tipo GregorianCalendar usando come parametri un anno, un mese e<br />
un giorno del mese, in questo modo:<br />
GregorianCalendar cal = new GregorianCalendar(); // la data <strong>di</strong> oggi<br />
GregorianCalendar eckertsBirthday = new GregorianCalendar(1919,<br />
Calendar.APRIL, 9);<br />
Per specifi care il mese usate le costanti Calendar.JANUARY ... Calendar.DECEMBER.<br />
Per aggiungere un certo numero <strong>di</strong> giorni a una data rappresentata da un oggetto <strong>di</strong> tipo GregorianCalendar<br />
si può usare il metodo add:<br />
cal.add(Calendar.DAY_OF_MONTH, 10);<br />
// ora cal rappresenta il decimo giorno nel futuro a partire da oggi<br />
Si tratta <strong>di</strong> un metodo mo<strong>di</strong>fi catore: mo<strong>di</strong>fi ca l’oggetto cal.<br />
Per ottenere informazioni da un oggetto <strong>di</strong> tipo GregorianCalendar si può usare il metodo<br />
get:<br />
int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);<br />
int month = cal.get(Calendar.MONTH);<br />
int year = cal.get(Calendar.YEAR);<br />
int weekday = cal.get(Calendar.DAY_OF_WEEK);<br />
// 1 rappresenta domenica, 2 lunedì, ..., 7 sabato<br />
Il vostro compito consiste nella realizzazione <strong>di</strong> un programma che visualizzi le seguenti informazioni:<br />
• La data e il giorno della settimana che <strong>di</strong>sta 100 giorni da oggi nel futuro.<br />
• Il giorno della settimana della vostra data <strong>di</strong> nascita.<br />
• La data che <strong>di</strong>sta 10 000 giorni nel futuro dalla vostra data <strong>di</strong> nascita.<br />
Se non volete rendere nota la vostra data <strong>di</strong> nascita, usate quella <strong>di</strong> uno scienziato informatico.<br />
Cay Horstmann: Concetti <strong>di</strong> informatica e fondamenti <strong>di</strong> Java 5 a ed. - Copyright 2010 <strong>Apogeo</strong> srl