Scanner Einführung mit einem Beispiel
Bis
jetzt haben wir nur Programme geschrieben, die nur mit fest
definierten Variablen gearbeitet haben. Dabei sind ja in der
Mathematik die Variablen nur Platzhalter. Das bedeutet, dass die
Variable „x“ in Wirklichkeit eine beliebig große und kleine Zahl
werden kann. Wir können leider als Benutzer nicht wie in der
Mathematik einfach den Wert radieren und danach mit einem neuen Wert
überschreiben. Dies ist leider nicht möglich. Damit der Benutzer
ohne Programmiererfahrungen das Programm oder die Anwendung bedienen
kann, muss im Programm die Funktion „Scanner“ vor definiert sein.
Somit wartet der Compiler bis ihr eine Zahl oder eine Eingabe
betätigt habt.
Im
folgenden Programm habe ich einen kleinen Taschenrechner, der nur
addieren und subtrahieren kann, eingebaut. Die einzelnen Schritte
werden wir am Ende erörtern.
1 import
java.util.Scanner;
2 public
class Main {
3
4 public static void main(String[]
args) {
5
6 Scanner variableX_Y = new
Scanner(System.in);
7
System.out.println("0=ADDITION");
8
System.out.println("1=SUBTRAKTION");
9
byte eingabe
= variableX_Y.nextByte();
10
11
switch(eingabe){
12 case 0:
13
14
System.out.println("ADDITION");
15
Scanner summandEins = new
Scanner(System.in);
16
System.out.println("GEBEN
SIE DEN ERSTEN SUMMAND EIN: ");
17
double
ersteSummand = summandEins.nextDouble();
18
19
Scanner summandZwei = new
Scanner(System.in);
20
System.out.println("GEBEN
SIE DEN ZWEITEN SUMMAND EIN: ");
21
double
zweiteSummand = summandZwei.nextDouble();
22
23
double ergebnis1
= ersteSummand + zweiteSummand;
24
25
System.out.println("ERGEBNIS
DER ADDITION LAUTET: "+ergebnis1);
26
break;
27
28
case 1:
29
System.out.println("SUBTRAKTION");
30
Scanner summandDrei = new
Scanner(System.in);
31
System.out.println("GEBEN
SIE DEN ERSTEN SUMMAND EIN: ");
32
double
dritteSummand = summandDrei.nextDouble();
33
34
Scanner summandVier = new
Scanner(System.in);
35
System.out.println("GEBEN
SIE DEN ZWEITEN SUMMAND EIN: ");
36
double
vierteSummand = summandVier.nextDouble();
37
38
double ergebnis2
= dritteSummand - vierteSummand;
39
40
System.out.println("ERGEBNIS
DER SUBTRAKTION LAUTET: "+ergebnis2);
41
break;
42
default:
43
System.out.println("UNGULTIGE
EINGABE");
44
break;
45
}
46
}
47 }
Obwohl
ich in dem letzten Post von mir gegeben habe, dass ich am liebsten if
und else/else if Verzweigungen verwende, wollte ich im obigen
Beispiel trotzdem das switch and case anwenden damit ihr sehen könnt,
dass es die selbe Anwendungsgebiet besitzt wie das if und else/else
if.
Ich
habe in diesem Beispiel Verzweigung und den Scanner, für das warten
und lesen der Eingabe des Benutzers verantwortlich ist, eingefügt.
6
Scanner variableX_Y = new Scanner(System.in);
Fangen
wir ab Zeile 6. Auf der Zeile 6 ist die erste Anweisung „Scanner“
Diese Angabe teilt dem Compiler mit, dass es sich um eine Anweisung
handelt, welche eine Eingabe des Benutzers warten soll. Es ist bis
jetzt unwichtig ob es sich hierbei um einen Zahlenwert oder um eine
String Eingabe handeln soll. Das Zweite Wort „variableX_Y“ ist,
wie der Name es schon sagt, eine Variable welches den eingegebenen
Wert speichern soll. Danach schließen wir die Anweisung mit dem „=
new Scanner(System.in);“ aus. Ich werde in dem folgenden Beispielen
erörtern wozu das Schlüsselbegriff new und System.in stehen.
6
Scanner variableX_Y = new Scanner(System.in);
7
System.out.println("0=ADDITION");
8
System.out.println("1=SUBTRAKTION");
9
byte eingabe = variableX_Y.nextByte();
Zwischen
Zeile 7 und 8 wird dem Benutzer eine sogenannte Menü/ Wegweiser
angezeigt. Der Benutzer kann durch die Eingabe des Wertes 0 mit dem
Addition und durch die Eingabe des Werts 1 Subtrahieren. In der Zeile
9 wird dem Compiler mitgeteilt, dass das Eingegebene Wert ein byte
Datentyp mit dem Namen „eingabe“ haben soll. Danach wird mit dem
befehl „variableX_Y.nextByte()“ das eingegebene String Wert in
einem primitiven Datentyp umgewandelt.
Danach
kommt das switch and case hier in Verwendung.
Ab
Zeile 11 überprüft der Compiler welches Wert die Variable eingabe
besitzt. Wenn es das Wert 0 besitzt wird der Benutzer in das Menü
„Addition“ weitergeleitet wenn aber das Wert 1 ist wird es zur
Menü „Subtraktion“ weitergeleitet. Wenn keines der beiden Werte
eingegeben wurde. Kommt wird die Ausgabe in der Zeile 43 ausgegeben.
Kommentare
Kommentar veröffentlichen