From bc99c7b9ff3924bb8ec1c1199b51e8fc6e4bf990 Mon Sep 17 00:00:00 2001 From: Joel Baldauf Date: Tue, 24 Nov 2020 16:01:06 +0100 Subject: [PATCH] =?UTF-8?q?Verarbeitung=20R=C3=B6mische=20Zahlen=20hinzuge?= =?UTF-8?q?f=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AB_Fallunterscheidungen/.classpath | 6 ++ AB_Fallunterscheidungen/.gitignore | 1 + AB_Fallunterscheidungen/.project | 17 ++++ .../.settings/org.eclipse.jdt.core.prefs | 12 +++ AB_Fallunterscheidungen/src/Rom.java | 87 +++++++++++++++++++ 5 files changed, 123 insertions(+) create mode 100644 AB_Fallunterscheidungen/.classpath create mode 100644 AB_Fallunterscheidungen/.gitignore create mode 100644 AB_Fallunterscheidungen/.project create mode 100644 AB_Fallunterscheidungen/.settings/org.eclipse.jdt.core.prefs create mode 100644 AB_Fallunterscheidungen/src/Rom.java diff --git a/AB_Fallunterscheidungen/.classpath b/AB_Fallunterscheidungen/.classpath new file mode 100644 index 0000000..e461bea --- /dev/null +++ b/AB_Fallunterscheidungen/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/AB_Fallunterscheidungen/.gitignore b/AB_Fallunterscheidungen/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/AB_Fallunterscheidungen/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/AB_Fallunterscheidungen/.project b/AB_Fallunterscheidungen/.project new file mode 100644 index 0000000..44bcccf --- /dev/null +++ b/AB_Fallunterscheidungen/.project @@ -0,0 +1,17 @@ + + + AB_Fallunterscheidungen + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/AB_Fallunterscheidungen/.settings/org.eclipse.jdt.core.prefs b/AB_Fallunterscheidungen/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..e2812ca --- /dev/null +++ b/AB_Fallunterscheidungen/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,12 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/AB_Fallunterscheidungen/src/Rom.java b/AB_Fallunterscheidungen/src/Rom.java new file mode 100644 index 0000000..a3c66ea --- /dev/null +++ b/AB_Fallunterscheidungen/src/Rom.java @@ -0,0 +1,87 @@ +import java.util.Scanner; + +public class Rom { + + public static void main(String[] args) { + Scanner tastatur = new Scanner(System.in); + System.out.print("Eingabe römische Zahl > "); + String rZahl = tastatur.next(); + + int i; + int dezZahl = 0; + int lZahl = 0; + int zahl = 0; + byte gleich = 0; + int v = 0, l = 0, d = 0; + + for (i = 0; i < rZahl.length(); i++) { + if (rZahl.charAt(i) == 'V') { + v += 1; + } else if (rZahl.charAt(i) == 'L') { + l += 1; + } else if (rZahl.charAt(i) == 'D') { + d += 1; + } + } + + if (v > 1 || l > 1 || d > 1) { + System.out.print("Eingabe ungültig!"); + return; + } + + for (i = 0; i < rZahl.length(); i++) { + switch (rZahl.charAt(i)) { + case 'I': + zahl = 1; + break; + case 'V': + zahl = 5; + break; + case 'X': + zahl = 10; + break; + case 'L': + zahl = 50; + break; + case 'C': + zahl = 100; + break; + case 'D': + zahl = 500; + break; + case 'M': + zahl = 1000; + break; + } +// System.out.println("zahl " + zahl); +// System.out.println("lZahl " + lZahl); +// System.out.println("dZahl " + dezZahl); + if (zahl > lZahl && lZahl != 0) { + if ((lZahl == 1 && (zahl == 5 || zahl == 10)) || (lZahl == 10 && (zahl == 50 || zahl == 100)) + || (lZahl == 100 && (zahl == 500 || zahl == 1000))) { + dezZahl = (dezZahl - lZahl) + (zahl - lZahl); + } else { + System.out.print("Eingabe ungültig!"); + return; + } + } else { + dezZahl += zahl; + } + + if (lZahl == zahl) { + gleich += 1; + } else { + gleich = 0; + } + + if (gleich >= 3) { + System.out.print("Eingabe ungültig!"); + return; + } + lZahl = zahl; + + } + System.out.print(dezZahl); + } + +}