« Lösungen zu Station 2: Zahlen und Variablen
Aufgabe
- Überlegen Sie sich ein Klassendefinition für eine Klasse "Auto"
- Überlegen Sie sich ein Klassendefinition für eine Klasse "Fisch"
Lösung
-
Klasseneigenschaften "Auto"
- Räder
- Motor
- Fahrgastraum
- ...
Klassenmethoden "Auto"
- lasse an
- bremse
- öffne Fahrertür
- ...
-
Klasseneigenschaften "Fisch"
- Flossen
- Kopf
- Schuppen
- ...
Klassenmethoden "Fisch"
- schwimm vorwärts
- bewege Kiemen
- friss Fisch
- ...
Aufgabe:
- Ändern Sie das bestehende Hauptprogramm so ab, dass die Repräsentation der Zahl als Zeichenkette ausgegeben wird.
Lösung
Ersetzt wird die Zeile:
System.out.println( "Der Wert des Zahlenobjektes ist "+x.wert ); // Ausgabe
durch folgende Zeile:
System.out.println( "Der Wert des Zahlenobjektes ist "+x.als_text() ); // Ausgabe
Aufgabe:
Lösung
Variable v = new Variable();
v.buchstabe = new Character( 'b' );
double belegung[] = { 0.5, 1.5, 2.5 };
System.out.println( "Der Wert von b ist "+v.berechne_wert( belegung ) );
Es erscheint "1.5" auf dem Bildschirm
Aufgabe:
- Schreiben Sie die Klasse "Variable" entsprechend um.
-
Welche Ausgabe wird durch den folgenden Quelltext erzeugt?
Variable v1 = new Variable( 'a' );
Variable v2 = new Variable( 'b' );
Variable v3 = new Variable( 'c' );
for (int i=0; i<5; i++){
double belegung1[] = {i, i-5, i*2};
System.out.println( v1.als_text()+"="+v1.berechne_wert( belegung1 )+"; "+
v2.als_text()+"="+v2.berechne_wert( belegung1 )+"; "+
v3.als_text()+"="+v3.berechne_wert( belegung1 )+"; "
);
}
Lösung
-
class Variable{
private Character buchstabe; // Eigenschaft
public Variable( char start_buchstabe ){
buchstabe = new Character( start_buchstabe );
}
public double berechne_wert( double belegung[] ){
int pos = buchstabe.compareTo( new Character( 'a' ) ); // alphab. Position
return belegung[pos]; // Belegung der Variablen
}
public String als_text(){
return buchstabe.toString(); // Buchstaben als Zeichenkette zurückgeben
}
}
-
Ausgabe:
a=0; b=-5; c=0;
a=1; b=-4; c=2;
a=2; b=-3; c=4;
a=3; b=-2; c=6;
a=4; b=-1; c=8;