Lest die Fachkonzepte Datentypen, Strings und EVA-Prinzip. Beantwortet im Anschluss die folgenden Fragen und bearbeitet die Aufgaben:
74 65 86 65 32 105 115 116 32 99 111 111 108 33
?Informatik ist toll! <3
?1337
?52 50
?
In Java läuft die Eingabe und Ausgabe über die sogenannte Konsole. Die Konsole stellt eine Möglichkeit dar, textbasierte Programme auszuführen und dem Benutzer zur Verfügung zu stellen. Um diese in Java benutzen zu können, benötigt ihr die kleine Helfer-Datei Konsole.java
(siehe unten).
Konsole.java
und kopiert den Code unten hinein. Speichern nicht vergessen!Bremsweg1.java
und kopiert den Code unten hinein. Führt die Datei im Anschluss daran aus (mit dem import java.io.*; public class Konsole { private static BufferedReader EingabeStream; private static PrintStream AusgabeStream; private static String[] jaWerte = { "1", "y", "t", "j", "w", "yes", "true", "ja", "wahr", "ok" }; static { try { EingabeStream = new BufferedReader(new InputStreamReader(System.in)); AusgabeStream = System.out; } catch (Exception e) { System.out.println("Konsoleneingabe nicht möglich"); } } private static String leseZeile() { try { return EingabeStream.readLine(); } catch (Exception e) { return ""; } } public static void schreibe(String text) { AusgabeStream.print(text); } public static void schreibeZeile(String text) { AusgabeStream.println(text); } public static boolean leseWahrheitswert(String frage) { schreibe(frage); String eingabe = leseZeile().toLowerCase(); for (int i = 0; i < jaWerte.length; ++i) if (jaWerte[i].equals(eingabe)) return true; return false; } public static char leseZeichen(String frage) { schreibe(frage); String eingabe = leseZeile(); return eingabe.charAt(0); } public static double leseKommazahl(String frage) { schreibe(frage); String eingabe = leseZeile(); return Double.parseDouble(eingabe); } public static int leseZahl(String frage) { schreibe(frage); String eingabe = leseZeile(); return Integer.parseInt(eingabe); } public static String leseText(String frage) { schreibe(frage); String eingabe = leseZeile(); return eingabe; } }
public class Bremsweg1 { public static void main(String[] args) { double geschwindigkeit = 50; double reaktionsweg = (geschwindigkeit / 10) * 3; double bremsweg = (geschwindigkeit / 10) * (geschwindigkeit / 10); double anhalteweg = reaktionsweg + bremsweg; Konsole.schreibeZeile("Reaktionsweg (in m) : " + reaktionsweg); Konsole.schreibeZeile("Bremsweg (in m) : " + bremsweg); Konsole.schreibeZeile("Anhalteweg (in m) : " + anhalteweg); } }
Das Problem bei dem Programm Bremsweg1.java
aus Aufgabe 1 war, dass es keine Möglichkeit zur Benutzereingabe gab. Wenn man also den Bremsweg für z.B. 100 km/h wissen wollte, musste man das Programm umschreiben und neu starten. Ziemlich umständlich.
Bremsweg1.java
in eine neue Java-Datei mit dem Namen Bremsweg2.java
. Dazu musst du auch den Namen der Klasse in public class Bremsweg2
ändern (erste Zeile).double geschwindigkeit = 50;
mit:double geschwindigkeit = Konsole.leseKommazahl("Geschwindigkeit (in km/h)? : ");
Die Komponenten des EVA-Prinzips:
public class Bremsweg2 { double geschwindigkeit = Konsole.leseKommazahl("Geschwindigkeit (in km/h)? : "); double reaktionsweg = (geschwindigkeit / 10) * 3; double bremsweg = (geschwindigkeit / 10) * (geschwindigkeit / 10); double anhalteweg = reaktionsweg + bremsweg; Konsole.schreibeZeile("Reaktionsweg (in m) : " + reaktionsweg); Konsole.schreibeZeile("Bremsweg (in m) : " + bremsweg); Konsole.schreibeZeile("Anhalteweg (in m) : " + anhalteweg); } }
Programmiere einen einfachen Taschenrechner, der zwei Zahlen abfragt und dann jeweils das Ergebnis der Addition, der Subtraktion, der Multiplikation sowie der Division berechnet und anzeigt. Die Grundlagen dazu hast du bereits gelernt! Speichere das Programm unter dem Namen Taschenrechner.java
ab!
Entweder versuchst du die Aufgabe selbstständig zu lösen, oder du befolgst die Schritte unten. Wenn du alle Schritte korrekt befolgt hast (oder du die Aufgabe selbst gelöst hast), sollte die Ausgabe des Programms so aussehen:
Befolge die folgenden Schritte und teste nach jedem Schritt, ob dein Programm wie gedacht funktioniert. (Testen funktioniert häufig sehr gut über die Ausgabe, also mit dem Konsole.schreibe..(…)
-Befehl.
Konsole.lese…(…)
-Befehl ein. Speichere diese als Integer in je einer Variablen (wert1
und wert2
). Beachte: Du darfst im Moment davon ausgehen, dass der Benutzer keine falschen Eingaben macht!ergebnis_add
). Gib das Ergebnis mit dem Konsole.schreibe…(…)
-Befehl aus. ergebnis_sub
, ergebnis_mul
und ergebnis_div
) hinzu. Speichere das Ergebnis der Subtraktion, der Multiplikation der Division in der jeweiligen Variablen. Füge nun auch die passenden Ausgaben in dein Programm ein.public class Taschenrechner { public static void main(String[] args) { int wert1 = Konsole.leseZahl("Wert1 = "); int wert2 = Konsole.leseZahl("Wert2 = "); int ergebnis_add = wert1 + wert2; int ergebnis_sub = wert1 - wert2; int ergebnis_mul = wert1 * wert2; int ergebnis_div = wert1 / wert2; Konsole.schreibeZeile("Wert1 + Wert2 = " + ergebnis_add); Konsole.schreibeZeile("Wert1 - Wert2 = " + ergebnis_sub); Konsole.schreibeZeile("Wert1 * Wert2 = " + ergebnis_mul); Konsole.schreibeZeile("Wert1 / Wert2 = " + ergebnis_div); } }
Schreibe mindestens zwei der folgenden Java-Programme:
double
). Erweitere den Taschenrechner um weitere Rechenoperationen (z.B. Satz des Pythagoras, Flächeninhalte, Volumina, etc.) Hier helfen Math.sqrt(a)
($\sqrt{a}$) und Math.PI
($\pi$).