Ein Kleines Spiel mit Altersabfrage


Hallo Leute, Heute werde ich wieder mal ein Beispielprojekt euch präsentieren. Natürlich erwarten einer oder andere Ein großes Projekt mit dem man vieles anfangen kann jedoch ist uns bekannt, dass wir ohne unseren nötigen Kenntnisse es nicht erreichen können ein Super Mega Geiles Projekt auf die Beine zu stellen. Wir müssen uns die Funktionen unsere Werkzeuge im klaren sein und diese bestens anwenden können. Wenn wir es vielseitig anwenden können, dann können wir auch die Programmiersprache Java auch für allgemeine Zwecke benutzen. Diese Art von Beruf nennt man auch Programmierer ;)

Fangen wir mit dem Folgenden Programm an. In diesem Programm geht es um mehrere Funktionen. Syntaktisch gesehen ist das Programm einfach. Semantisch gesehen macht es nichts anders als den Alter abzufragen und danach diese zu wiedergeben falls der eingegebene Wert reell also ein Reelles Alter entspricht und falls diese auch eine Zahl ist. Also mach unser Programm nichts anders als Werte zu vergleichen. Wenn wir statt ein Alter in Form einer Zahl nicht eintippen dann würde normalerweise das Programm abstürzen da wir vom String zum Primitiven Datentyp einen Wert umstellen. Dieser wert muss natürlich ein Zahlenwert sein da die Primitiven Datentypen außer boolean nur Zahlen speichern können.

Nach dem erfolgreichen überprüfen der Eingabe wird es festgestellt ob es eine Reelle Alter ist oder keine. Falls dies ein Reelles Alter entspricht, wird der Anwender mit einer positiven Mitteilung konfrontiert. Wenn aber die Eingabe kein Reelles Alter entspricht, wird dem Anwender eine Negative Mitteilung ausgegeben. Die Verzweigung try and catch testet nur ob das eingegebene String an einem Zahlenwert umgerechnet werden kann oder nicht. Falls der erste versuch beim try Block fehlerhaft ist, wird der zweite Block nämlich catch ausgeführt. Dies geschieht, wenn der Anwender statt ein ZahlenString ein ZahlenString mit einer oder mehreren Buchstaben eintippt. Dann erkennt der Compiler, dass die Buchstabe(n) nicht in einem Primitiven Datentypen gespeichert werden kann. Falls der zweite Block ausgeführt wird, wird das Programm beendet.


01 package eingabeaufforderung;
02
03 import java.util.Scanner;
04
05 public class EingabeAufforderung {
06
07     public static void main(String[] args) {
08
09        System.out.println("--------------");
10        System.out.println("PROGRAMM START");
11        System.out.println("--------------");
12        jetztGehtLos();
13     }
14
15     public static void ende() {
16        System.out.println("-------------");
17        System.out.println("PROGRAMM ENDE");
18        System.out.println("-------------");
19        System.exit(0);
20     }
21
22     public static byte jetztGehtLos() {
23        byte i;
24        Scanner scannerVariable = new Scanner(System.in);
25        System.out.println("Geben Sie ihr alter ein: ");
26        String eingabe = scannerVariable.nextLine();
27
28        try{
29           i = Byte.parseByte(eingabe);
30           if ( i >= 0 && i <= 127 ){
31              byte alter = i;
32              System.out.println("Sie sind "+i+" Jahre alt.");
33              boolean kommt = true;
34              boolean geht = false;
35              loesung(kommt, geht);
36           }
37           else {
38              System.out.println("Ihre Eingabe ist nicht Reel.");
39              jetztGehtLos();
40           }
41        }
42        catch(NumberFormatException e){
43           System.out.println("Sie haben keine Zahl als Alter eingegeben");
44           boolean geht = true;
45           boolean kommt = false;
46           loesung(kommt, geht);
47        }
48      return 0;
49    }
50
51    public static boolean loesung(boolean kommt, boolean geht) {
52
53       if(kommt == true && geht == false){
54          System.out.println("Sie haben noch ein Geiles Leben vor sich...");
55          jetztGehtLos();
56       }
57       else if(kommt == false && geht == true) {
58          System.out.println("Verarschen kann ich mich selber Kollege :P");
59          ende();
60       }
61
62    return true;
63    }
64 }


Die Rezension über dieses Thema wird in den Folgenden Tagen veröffentlicht. In der zwischenzeit könnt ihr die Quelldatei in eurem IDE (Integrated Developer Enviroment) einfügen und kompilieren.

Kommentare

Beliebte Posts aus diesem Blog

How can I transform a .jar file to a .bat file?

Zufallszahlen und Verzweigungen in Python