![]() |
![]() |
![]() |
![]() |
![]() |
Die Klasse SimpleEingabe wird hier nicht abgedruckt (645 Zeilen!), es geht eher um die Benutzung der Klasse, dafür gibt es Dokumentation auf Englisch, die von einem Java-Programm namens javadoc
aus dem Programm
SimpleEingabe.java
"automatisch" erzeugt wird. Dazu werden bestimmte Kommentare ausgewertet, Beispiel (zur Methode readLine( )
vom Typ String):
/********************************************************** *Reads a line of text and returns that line as a String value. *The end of a line must be indicated either by a new-line *character '\n' or by a carriage return '\r' followed by a *new-line character '\n'. (Almost all systems do this *automatically. So, you need not worry about this detail.) *Neither the '\n', nor the '\r' if present, are part of the *string returned. This will read the rest of a line if the *line is already partially read. *********************************************************/
Ein JavaDoc-Kommentar beginnt mit /**
und endet mit */
. In einer Zeile werden die Leerzeichen bis zum *
überlesen, ansonsten siehe hier.
So:
String text = SimpleEingabe.readLine();
Wegen einer Methode schreibt man keine Klasse, in der Klasse SimpleEingabe findet man insgesamt 19 Methoden! Beispiel:
int Zahl = SimpleEingabe.readInt();
Zeit für ein richtiges Beispiel:
1 System.out.println("Gib drei Zahlen ein: "); 2 System.out.print("1. Zahl => "); 3 Zahl1 = SimpleEingabe.readInt(); 4 System.out.print("2. Zahl => "); 5 Zahl2 = SimpleEingabe.readInt(); 6 System.out.print("3. Zahl => "); 7 Zahl3 = SimpleEingabe.readInt(); 8 System.out.println("Zahlen => " + Zahl1 + " " + Zahl2 + " " + Zahl3); 9 raetsel rt = new raetsel(); 10 System.out.println("Ergebnis => " + rt.rechne(Zahl1,Zahl2,Zahl3)); 11 System.out.print("Nochmal? (J/N) "); 12 Ende = SimpleEingabe.readLine();
Erklärungen:
readInt()
aufgerufen, die eine Zahl vom Typ int zurückgibt. Ähnlich in Zeile 5 und 7, hier die Vereinbarung der Variablen Zahl1 bis Zahl3: int Zahl1, Zahl2, Zahl3;
readLine()
wird in Zeile 12 aufgerufen, sie gibt einen String zurück, dementsprechend sieht die Vereinbarung der Variablen Ende so aus:
String Ende;
raetselMain.java
, deine Aufgabe: finde heraus, wie die Methode rechne(Zahl1,Zahl2,Zahl3)
aus der Klasse raetsel
funktioniert! (=> Aufgaben). . . beerbt unsere Klasse BankKontoExt vom letzten Mal:
class InteraktivKonto extends BankKontoExt
Hier das UML-Diagramm:
Du siehst: Auch die Klasse InteraktivKonto muss zwei Konstruktoren vereinbaren (Warum?). Die neue Methode interaktiv()
benutzt die Klasse SimpleEingabe:
public void interaktiv() // interaktiv { // Zugriff auf die Varibale in der Super-Klasse double betrag; System.out.println("Bitte Betrag eingeben: "); betrag = SimpleEingabe.readLineDouble(); if (betrag > 0.0) { super.kontostand = super.kontostand + betrag; } }<<<
findest du im Lehrer-Ordner rechts oben auf dem Desktop unter wspiegel u. s. w.;
alternativ: http://www.wspiegel.de/upl/InteraktivKonto.html
http://www.wspiegel.de/upl/raetselMain.html
(Die Klasse SimpleEingabe kann leider nur in den Computerräumen der Schule am Ried zur Verfügung gestellt werden . . .)
BankApp2.java
) und benutze diesmal ausschließlich (!) die Aufrufe der Klasse InteraktivKonto
. Probiere auch die Methode interaktiv()
(Abspeichern unter dem Namen BankApp3.java
)
DispoKonto
, welche die Klasse InteraktivKonto
beerbt:class DispoKonto extends InteraktivKonto
DispoKonto
: Beim Einrichten des Kontos legt die Bank normalerweise die Dispo-Grenze fest, dass ist die Grenze, bis zu der du überziehen darfst. Welche Methoden musst du laut UML-Diagramm anpassen? Wie?
BankApp3.java
(s. o.) und teste deine neue Klasse DispoKonto
(Abspeichern unter dem Namen BankApp4.java
) ueberweisung
?
rechne(Zahl1,Zahl2,Zahl3)
aus der Klasse raetsel
funktioniert. Für diese Aufgabe benötigst du:
raetsel.class
(nicht: raetsel.java
!)raetsel.class
in dein Verzeichnis kopieren!raetselMain.java
SimpleEingabe.java
Gib drei Zahlen ein: 1. Zahl => 12 2. Zahl => 22 3. Zahl => 32 Zahlen => 12 22 32 Ergebnis => 648 Nochmal? (J/N) n Ciao . . .