Kurs 20022 objektorientiertes Programmieren
Einsendeaufgaben zu Lerneinheit 2
Programmieraufgabe mit BlueJ: (14 Punkte)
Ergänzen Sie mit Hilfe des Werkzeugs BlueJ ein Programm zur Berechnung von Mietpreisen. Gehen Sie hierzu bitte wie folgt vor:
- Laden und entpacken
Sie das Projekt account.zip auf Ihrem Rechner
- In diesem Projekt
sind bereits einige Methoden gegeben, die Sie benutzen können.
Die Methode void main()
soll an
den Stellen, an denen Kommentare stehen, um eine entsprechende Funktionalität
ergänzt werden. Dabei werden Eingabedaten auf ihre Richtigkeit
überprüft und im Falle einer Fehleingabe eine entsprechende
Meldung generiert und die Eingabedaten erneut gelesen. Die eingegebenen
Mietdaten werden darauf überprüft, ob der Endtag tatsächlich
zeitlich hinter dem Anfangstag liegt.
- Benutzen Sie zur
Berechnung der Anzahl der Tage im Monat die switch-Anweisung.
Dabei kann die selbe Anweisung bei verschiedenen Konstanten (hinter
dem case)
ausgeführt werden. Abgeschlossen werden die Anweisungen für
jede Markierung mit dem Kommando break.
Beispiel:
switch (a)
{
case 1:
case 2:
b=3;
c=4;
break;
case 3:
b=1;
}
- Es werden nur Abrechnungszeiträume
innerhalb eines Jahres berücksichtigt. Der Februar habe 28 Tage.
Der Start- und Endtag zählt immer mit (falls identisch, nur einmal),
d. h., vom 01.03. bis zum 03.03. sind es beispielsweise drei Tage.
Hinweis: Beachten
Sie die unterschiedliche Anzahl von Tagen für die verschiedenen Monate!
Semantiküberprüfung: (5 Punkte)
Überprüfen Sie den folgenden Programmcode auf Fehler und geben Sie die notwendigen Korrekturen an!
Hinweis: Es sind 5 Fehler eingebaut!
bool c=false;
byte i;
char ch="a";
for (i==0;i<200;i++){
if(c = 200%i > 10){
System.out.println(ch);
ch++;
}
}
Verständnisfragen: (6 Punkte)
1.
Gegeben seien:
int a=2, int b=3;
Welche Werte weisen die Variablen a und b nach Ausführung der folgenden Anweisungen auf?
a *= b++;
b += 19/--a;
2.
Seien
int a=3;
int b=7;
Was ist das Ergebnis der Auswertung des folgenden Ausdrucks?
a==4==b==7;
Hinweis: Beachten Sie die Priorität, Bindung und Auswertung von Operatoren!
3.
Für welche Zuweisung steht die Kurzschreibweise: a *= 3/2 ?
|