From 4cb54b9662685cff8a3ef786f8f682a586c2b616 Mon Sep 17 00:00:00 2001 From: Aliuy Date: Sun, 7 Jan 2024 22:07:01 +0100 Subject: [PATCH] Waehrungsumrechner mit 10 Waehrungen. --- Semesteraufgabe, Währungsumrechner/.classpath | 10 ++ Semesteraufgabe, Währungsumrechner/.gitignore | 1 + Semesteraufgabe, Währungsumrechner/.project | 17 +++ .../.settings/org.eclipse.core.resources.prefs | 2 + .../src/Semesteraufgabe.java | 105 ++++++++++++++++++ .../src/Waehrung.java | 48 ++++++++ 6 files changed, 183 insertions(+) create mode 100644 Semesteraufgabe, Währungsumrechner/.classpath create mode 100644 Semesteraufgabe, Währungsumrechner/.gitignore create mode 100644 Semesteraufgabe, Währungsumrechner/.project create mode 100644 Semesteraufgabe, Währungsumrechner/.settings/org.eclipse.core.resources.prefs create mode 100644 Semesteraufgabe, Währungsumrechner/src/Semesteraufgabe.java create mode 100644 Semesteraufgabe, Währungsumrechner/src/Waehrung.java diff --git a/Semesteraufgabe, Währungsumrechner/.classpath b/Semesteraufgabe, Währungsumrechner/.classpath new file mode 100644 index 0000000..c8b8bcc --- /dev/null +++ b/Semesteraufgabe, Währungsumrechner/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Semesteraufgabe, Währungsumrechner/.gitignore b/Semesteraufgabe, Währungsumrechner/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/Semesteraufgabe, Währungsumrechner/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/Semesteraufgabe, Währungsumrechner/.project b/Semesteraufgabe, Währungsumrechner/.project new file mode 100644 index 0000000..c4c5d73 --- /dev/null +++ b/Semesteraufgabe, Währungsumrechner/.project @@ -0,0 +1,17 @@ + + + Semesteraufgabe, Währungsumrechner + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/Semesteraufgabe, Währungsumrechner/.settings/org.eclipse.core.resources.prefs b/Semesteraufgabe, Währungsumrechner/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..4824b80 --- /dev/null +++ b/Semesteraufgabe, Währungsumrechner/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/Semesteraufgabe, Währungsumrechner/src/Semesteraufgabe.java b/Semesteraufgabe, Währungsumrechner/src/Semesteraufgabe.java new file mode 100644 index 0000000..be3ef24 --- /dev/null +++ b/Semesteraufgabe, Währungsumrechner/src/Semesteraufgabe.java @@ -0,0 +1,105 @@ +import java.util.TreeMap; +import java.util.Scanner; + +public class Semesteraufgabe { + + public static void main(String[] args) { + Scanner input = new Scanner(System.in); + Waehrung euro = new Waehrung("Euro", 1, 1); + Waehrung dollar = new Waehrung("US-Dollar", 0.91, 1.10); + Waehrung pfund = new Waehrung("Britische Pfund", 1.16, 0.86); + Waehrung rubel = new Waehrung("Russische Rubel", 0.01, 98.75); + Waehrung franken = new Waehrung("Schweizer Franken", 1.07, 0.93); + Waehrung yen = new Waehrung("Japanische Yen", 0.0063, 158.49); + Waehrung lira = new Waehrung("Türkische Lira", 0.031, 32.57); + Waehrung zloty = new Waehrung("Polnische Zloty", 0.23, 4.36); + Waehrung krone = new Waehrung("Daenische Kronen", 0.13, 7.46); + Waehrung riyal = new Waehrung("Saudische Riyal", 0.24, 4.11); + + TreeMap waehrungen = new TreeMap<>(); + + waehrungen.put("us-dollar", dollar); + waehrungen.put("britischer pfund", pfund); + waehrungen.put("russischer rubel", rubel); + waehrungen.put("schweizer franken", franken); + waehrungen.put("japanischer yen", yen); + waehrungen.put("tuerkischer lira", lira); + waehrungen.put("polnischer zloty", zloty); + waehrungen.put("daenische krone", krone); + waehrungen.put("saudischer riyal", riyal); + waehrungen.put("euro", euro); + System.out.println("Hallo, was kann ich für sie tun \n" + "Wenn sie hilfe benötigen, schreiben sie 'Help'."); + while (true) { + String eingabe = input.nextLine(); + + if (eingabe.equalsIgnoreCase("help")) { + System.out.println("Waehrungen anzeigen: Zeigt alle Waehrungen unseres Systems an."); + System.out.println("Waehrung umrechnen: Rechnet Waehrungen ihrer Wahl um."); + System.out.println("Waehrungskurs: Zeigt den momentanen Kurs einer Währung im vergleich zum Euro an."); + System.out.println("Stop: Beendet das Programm."); + } else if (eingabe.equalsIgnoreCase("waehrungen anzeigen")) { + System.out.println(waehrungen.values()); + System.out.println("Stand: 07.01.2024"); + } else if (eingabe.equalsIgnoreCase("stop")) { + break; + } else if (eingabe.equalsIgnoreCase("Waehrungskurs")) { + System.out.println("Von welcher Waehrung möchten sie den Kurs sehen?"); + String eingabe2 = input.nextLine(); + String neweingabe2 = eingabe2.toLowerCase(); + boolean a = waehrungen.containsKey(neweingabe2); + if (a == true) { + Waehrung waehrung = waehrungen.get(neweingabe2); + String name = waehrung.getName(); + double kurs = waehrung.getUmrechnungsfaktorzueuro(); + System.out.println("Momentan entspricht 1 " + name + " " + kurs + " Euro"); + } + } else if (eingabe.equalsIgnoreCase("Waehrung umrechnen")) { + System.out.println("Welche Währung möchten sie umrechnen?"); + String eingabe2 = input.nextLine(); + String neweingabe2 = eingabe2.toLowerCase(); + boolean a = waehrungen.containsKey(neweingabe2); + if (a == true) { + Waehrung eins = waehrungen.get(neweingabe2); + System.out.println("In welche Währung möchten sie umrechnen?"); + String eingabe3 = input.nextLine(); + String neweingabe3 = eingabe3.toLowerCase(); + boolean b = waehrungen.containsKey(neweingabe3); + if (b == true) { + try { + Waehrung zwei = waehrungen.get(neweingabe3); + String name1 = eins.getName(); + System.out.println("Wie viel " + name1 + " möchten sie umrechnen?"); + String zahl = input.nextLine(); + double menge = Double.parseDouble(zahl); + double umrechnungsfaktor1 = eins.getUmrechnungsfaktorzueuro(); + double umrechnungsfaktor2 = zwei.getUmrechnungsfaktorvoneuro(); + String name2 = zwei.getName(); + double ergebniss = waehrungsumrechner(menge, umrechnungsfaktor1, umrechnungsfaktor2); + System.out.printf("Rechnet man " + menge + " " + name1 + " in " + name2 + + " um, so erhält man %.2f " + name2, ergebniss); + } catch (NumberFormatException E) { + System.out.println("Bitte geben sie eine Zahl ein. Verwenden sie '.' anstatt ','"); + } + }else { + System.out.println( + "Diese Waehrung ist in unserem System nicht vorhanden, der Vorgang wurde abgebrochen. \n" + + "Wenn sie hilfe benötigen, schreiben sie 'Help'."); + } + } else { + System.out.println( + "Diese Waehrung ist in unserem System nicht vorhanden, der Vorgang wurde abgebrochen. \n" + + "Wenn sie hilfe benötigen, schreiben sie 'Help'."); + } + } else { + System.out.println("Unbekannter Befehl, versuchen sie es erneut"); + } + } + } + + public static double waehrungsumrechner(double menge, double umrechnungsfaktor1, double umrechnungsfaktor2) { + double end = menge * umrechnungsfaktor1; + end = end * umrechnungsfaktor2; + return end; + + } +} \ No newline at end of file diff --git a/Semesteraufgabe, Währungsumrechner/src/Waehrung.java b/Semesteraufgabe, Währungsumrechner/src/Waehrung.java new file mode 100644 index 0000000..32e2f15 --- /dev/null +++ b/Semesteraufgabe, Währungsumrechner/src/Waehrung.java @@ -0,0 +1,48 @@ + +public class Waehrung { +String name; +private double umrechnungsfaktorzueuro; +private double umrechnungsfaktorvoneuro; + + + + +Waehrung (String name, double umrechnungsfaktorzueuro, double umrechnungsfaktorvoneuro) { + this.name = name; + this.umrechnungsfaktorzueuro = umrechnungsfaktorzueuro; + this.umrechnungsfaktorvoneuro = umrechnungsfaktorvoneuro; +} + +@Override +public String toString() { + return name; +} + +public String getName() { + return name; +} + + +public void setName(String name) { + this.name = name; +} + + +public double getUmrechnungsfaktorzueuro() { + return umrechnungsfaktorzueuro; +} + + +public void setUmrechnungsfaktorzueuro(double umrechnungsfaktorzueuro) { + this.umrechnungsfaktorzueuro = umrechnungsfaktorzueuro; +} + + +public double getUmrechnungsfaktorvoneuro() { + return umrechnungsfaktorvoneuro; +} + +public void setUmrechnungsfaktorvoneuro(double umrechnungsfaktorvoneuro) { + this.umrechnungsfaktorvoneuro = umrechnungsfaktorvoneuro; +} +} \ No newline at end of file