Up:

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.

Lav et program, hvor brugeren skal gætte dit navn: Programmet skal blive ved med at bede om et navn, indtil dit navn er gættet. Når der gættes forkert, skal programmet hjælpe ved at fortælle, om dit navn kommer alfabetisk før eller efter det forkerte navn.

 

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.

( Denne opgave kan med fordel løses ved at lave en ny konstruktør.)

 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.