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

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

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

Saved successfully!

Ooh no, something went wrong!