02312 Indledende programmering, IMM DTU, Ver. 2003-10-12
Opgaver til 4. semester-uge.
Anbefalet løsningsrækkefølge af opgaverne: 13B, 17B, 17A, 14, 15.
Opgave 13 B.
Modificer dit løsningsforslag til opgave 13, således at der defineres og bruges en metode "pyramide", der modtager et heltal og udskriver den tilsvarende pyramide.
Opgave 14: Trekanter
Udvikle et program, der indlæser længden
af siderne i en trekant
og udskriver, hvilken slags trekant, det er.
Bestående af faserne analyse, design, implementering og test. Sørg for at kommer
gennem alle faserne og diskuter dem eventuelt med øvelsesvejlederne.
Opgave 15: Gæt mit navn (do while)
Ekstra opgave.
Opgave 17A:
Repræsentation af datoer.
Lav en klasse Dato
til at repræsentere datoer. Klassen skal have en enkelt
konstruktør:
Dato(int
year,
int
month,
int
day)
Dato(2000,3,9)
opretter et nyt
Dato
objekt med datoen 9.
marts 2000.
Overvej hvilke felter
Dato
klassen skal have.
Der skal være følgende metoder i
Dato
klassen (alle public):
String danish()
datoen i det normale danske format (f.eks. 9/3 2000).
String danishText()
datoen med måneden som navn i stedet for tal (f.eks. 9. marts 2000)
(ekstra spørgsmål)
String iso()
viser datoen i ISO-format (f.eks. 2000–09–30).
Vink: Importer klassen java.text.Numberformat fra afsnit 2.9 for at kunne
skrive datoen 2000-03-09, dvs. med foranstillede nuller.
Brug metoden getNumberInstance() til at danne et NumberFormat-objekt og
metoden setMinimumIntegerDigits(2) for at få 2 cifre i f.eks. 03 og 09.
Lav et lille program, som afprøver klassen.
Opgave 17B: Banking
1)
Modificer klassen Transaction og klassen Account fra bogen
( kap. 4.3, side 205-208 ), således at at hver konto tillige
indeholder
oplysning om kundens adresse. Vink: Brug klassen Address fra hjemmesiden.
Filerne Transaction.java og Account.java findes ligeledes på hjemmesiden i samme katalog som
denne opgave.
2)
Tegn et UML diagram for klassen Transaction og klassen Account. (figur 4.4, side
196)
3)
Skriv Account klassen om, så den giver muligheden for at overføre fra en
konto(Account) til en anden.
Bemærk, at overførslen kan beskrives som udtræk fra en konto og indsættelse i en anden.
Skriv ligeledes Transaction
klassen om, så den kan vise denne nye mulighed.
4)
Skriv Account klassen om så den kan åbnes blot med et navn og et kontonummer,
idet indestående forudsættes at være 0.
Skriv ligeledes Transaction klassen om, så denne nye mulighed bliver brugt.
Du må gerne
besvare spm. 1, 3 og 4 i samme par filer : Transaction.java og Account.java, men det
er en god ide at udarbejde disse par af filer i 3 trin.