1. Schritt: Funktionalität

Ein Programm ist ein Problemlösungsverfahren in einer für den Computer verständlichen Form. Programme werden in einer Programmiersprache formuliert.


Vorbereitung

Um dein Wissen in Java anzuwenden, bietet es sich an, dir ein kleines Projekt zu überlegen, welches du programmieren möchtest. Dadurch lernst du, die zuvor erlernten Konzepte anzuwenden.

Ein Programm, welches sich als Einstieg sehr gut anbietet, ist ein einfacher Taschenrechner.

Doch bevor du mit dem Programmieren starten kannst, ist es wichtig, dir vorher die Struktur und die Ziele deines Programms zu überlegen.

Dadurch kannst du besser identifizieren, welche Funktionen dein Programm erfüllen soll.

Dafür kannst du dir deine einzelnen Schritte im Programm in einem Diagramm aufzeichnen:

Um einen funktionierenden Taschenrechner zu programmieren, benötigst du einen Input der User, damit das Programm weiß, welche Zahlen mit welcher Rechenoperation berechnet werden sollen.

Außerdem solltest du dir überlegen, welche Operationen dein Taschenrechner berechnen soll. Da es sich um ein Einstiegs-Projekt handelt, bieten sich die Basis-Operationen Addition, Subtraktion, Division und Multiplikation an.

Das Programm

Das Grundgerüst

Um an den Input der User zu kommen, gibt es in Java die Klasse Scanner. Die Klasse stellt Methoden bereit, mit denen Zeichenfolgen (auch Literale) aus Strings, Dateien und Eingabe-Strömen (auch InputStream) ein- und ausgelesen werden können.

Zuerst baust du dir dein Grundgerüst. Du legst dir dafür am besten ein neues Projekt mit dem Namen Calculator an, in dem du die Klasse Calculator erstellst:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Denk daran, die Klasse gehört immer in den src-Folder deines Projekts.

Anschließend legst du die main-Methode in deiner Klasse an:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Um nun die Klasse Scanner zum Auslesen der User-Inputs nutzen zu können, musst du sie über deiner Klasse importieren:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Damit du diesen Scanner auch nutzen kannst, musst du deinen Code um folgende Zeile ergänzen:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Du kannst deinen Scanner beispielweise userInput nennen, da du damit ja den Input deiner User:innen lesen möchtest. Du erzeugst dir mit dieser Zeile also eine Instanz der Klasse Scanner. Da du den Inputstream aus der Konsole auslesen möchtest, übergibst du in der Klammer den Standard-Inputstream System.in.

Dein Taschenrechner muss zwei Zahlen und das Operator-Zeichen entgegennehmen.

Dafür legst du dir erst einmal die Variablen an.

Da du auch Division implementieren möchtest, bietet es sich an, als Datentyp Double zu wählen:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Jetzt ist dein Grundgerüst fertiggestellt und du kannst dich an die Funktionalität deines Taschenrechners setzen.

Funktionalität implementieren

Damit die User wissen, was sie wann eingeben sollen, kannst du dir mithilfe von System.out.println() ausgeben lassen, welcher Input von ihnen erwartet wird:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Jetzt musst du jedoch noch an den Input gelangen. Da dieser in den jeweiligen zuvor deklarierten Variablen gespeichert werden soll, schreibst du erst den Namen deiner Variablen, ein Gleichzeichen und dahinter userInput.nextDouble();.

An deinem Scanner wird also die Operation nextDouble() aufgerufen. Diese scannt die nächsten Zeichen vom Input als ein double:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Wenn ein User zum Beispiel 5,05,05,0 eingeben würde, würde dieser Input als double gelesen und in der Variablen gespeichert werden.

Da es sich bei dem Operator jedoch nicht um einen Input vom Typ double handelt, muss auf eine andere Methode zurückgegriffen werden.

Statt nextDouble() wird next().charAt(0) an deinem userInput aufgerufen. charAt(0) benötigst du deshalb, weil next() den nächsten String im Input betrachtet, du jedoch nur einen char benötigst. Damit wird einfach der Buchstabe an der nullten Position im String in deiner Variablen operator gespeichert:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Wenn der User zum Beispiel + in die Konsole schreibt, untersucht die Methode, welcher char an der nullten Stelle steht. Da der String hier nur aus einem Element, nämlich dem +, besteht, wird dieses Zeichen in der Variablen gespeichert.

So, jetzt hast du alle Eingaben deiner User entgegengenommen, doch nun muss auch noch gerechnet werden.

Da die auszuführende Berechnung von der ausgewählten Operation abhängig ist, fragst du mit einer if - else if - else-Verzweigung ab, um welchen der vier Operatoren es sich handelt. Wenn der/die User:in beispielsweise die Addition auswählt, also + in die Konsole eingibt, werden firstNumber und secondNumber addiert und anschließend in die Konsole ausgegeben, damit der/die User:in das Ergebnis auch sehen kann:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Falls die User einen Operator eingeben, der nicht implementiert ist, muss noch ein else-Fall hinzugefügt werden. Dieser gibt dann einfach die Warnung in die Konsole aus, dass es sich um keine gültige Eingabe handelt:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Jetzt hast du erfolgreich die Funktionalität deines Taschenrechners implementiert! Doch was passiert, wenn User beispielsweise statt einer Zahl einen Buchstaben eingeben, erfährst du im zweiten Teil dieses Tutorials.

No items found.

simpleclub ist am besten in der App.

Mit unserer App hast du immer und überall Zugriff auf: Lernvideos, Erklärungen mit interaktiven Animationen, Übungsaufgaben, Karteikarten, individuelle Lernpläne uvm.

Jetzt simpleclub Azubi holen!

Mit simpleclub Azubi bekommst du Vollzugang zur App: Wir bereiten dich in deiner Ausbildung optimal auf deine Prüfungen in der Berufsschule vor. Von Ausbilder*innen empfohlen.

Jetzt simpleclub Azubi holen