Arabische Ziffern in römische Ziffern

ifschleife

Mitglied
Hallo Leute,
bin gerade dabei arab. Ziffern in Römische umzuwanden und hänge grad auf dem Schlauch.
Hier die Aufgabenstellung:
Es gibt die Grundzahlen I, X, C und M mit den Bedeutungen 1, 10, 100 und 1000. Außerdem gibt es die Zwischenzahlen V, L und D mit den Bedeutungen 5, 50, und 500.
Gleiche Grundzahlen direkt nebeneinander werden addiert, dabei dürfen höchstens drei gleiche Grundzahlen nebeneinander stehen.
Gleiche Zwischenzahlen dürfen nicht addiert werden bzw. nicht nebeneinander stehen. Kleinere Grundzahlen rechts von größeren werden addiert – links von größeren subtrahiert. die Grundzahlen I, X, und C dürfen nur von der nächst höheren Zwischen- bzw. Grundzahl subtrahiert werden. Beispiel: I darf nur von V oder X subtrahiert werden. Zwischenzahlen dürfen nicht subtrahiert werden .
Bin jetzt erstmal soweit gekommen:
Code:
import java.util.Scanner;

public class Test {

    public static void main(String[] args) {

        int[] Ziffern = { 1, 5, 10, 50, 100, 500, 1000 };
        String[] Buchstaben = { "I", "V", "X", "L", "C", "D", "M" };
        int eingabe;
        String ausgabe="";
        
        
        System.out.println("Geben Sie eine Zahl zwischen 1-3999 ein: ");
        Scanner in = new Scanner(System.in);
        eingabe = in.nextInt();
        
        for (int i = 1000; i = 1; i = i / 10) {

        }
    }

}
Kann mir jemand weiterhelfen?
 

Rigan

Mitglied
Was mMn hier das Geheimnis ist, arbeite mit Modular.

wir speichern die Zahl in einer Integer Variable, wir benötigen aber noch zwei weitere Hilfsvariablen, wenn du die Zahl selbst noch brauchst, dann noch eine weitere Variable

zuerst rechnest du durch 1000

was kommt Modular raus?
Rest = Zahl%1000
Anz = Zahl/1000

Da wir mit Integer arbeiten, hast du in Anz das Ergebnis von "M" die du setzen musst.
In Rest dagegen ist jetzt die Zahl mit der du weiter rechnest

Zahl = Rest

Jetzt müssen wir durch 100 rechnen
Rest = Zahl%100
Anz = Zahl/100

Was wir dann beachten müsssen:
Anz = 9? ==> dann füge "CM" hinzu
Anz >= 5? ==> dann füge "D" hinzu und rechne Anz = Anz-5; füge dann Anz an "C" hinzu.
Anz = 4 ==> dann füge "CD" hinzu
Anz > 0 ==> füge Anz an "C" hinzu"

Zahl = Rest
....

hoffe das Prinzip ist klar.
den Code habe ich bewusst nicht geschrieben, sondern nur versucht zu erklären wie er aufgebaut sein sollte;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Römische Zahlen in Arabische Ziffern umgewandeln Java Basics - Anfänger-Themen 18
P Arabische (indische) Ziffern Java Basics - Anfänger-Themen 4
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
B Alle Zahlen finden, die 3 bestimmte Ziffern enthalten? Java Basics - Anfänger-Themen 9
obiwanke Ziffern durch ASCII Character ersetzen Java Basics - Anfänger-Themen 8
M LCD-Ziffern-Hilfe Java Basics - Anfänger-Themen 6
Marlena Bauer LCD Ziffern Java Basics - Anfänger-Themen 13
sashady Zahlen rekursiv zerlegen und Ziffern addieren Java Basics - Anfänger-Themen 38
Khaled-Abo Ziffern unterscheiden mittels einer For-Schleife Java Basics - Anfänger-Themen 6
C alle möglichen Kombinationen zweier Ziffern auf drei / vier / und 'n" Stellen Java Basics - Anfänger-Themen 11
Kingamadeus2000 Anzahl der Ziffern der kürzesten Zahl aus einem zurückliefern Java Basics - Anfänger-Themen 1
G Überprüfen ob alle Ziffern von 1-9 in einem Integer vorhanden sind Java Basics - Anfänger-Themen 6
J Rekursive Methode - Ziffern einer Zahl ausgeben Java Basics - Anfänger-Themen 2
F Produkt d. Ziffern einer Zahl..?! Java Basics - Anfänger-Themen 5
L (Integer) Liste nach aufsteigender Summe der Ziffern sortieren (mit Bedingung) Java Basics - Anfänger-Themen 8
C Datentypen String aus Ziffern erhöhen und als String zurückgeben Java Basics - Anfänger-Themen 16
P vokale konsonanten ziffern satzzeichen aus string lesen. hab kiene ahnung Java Basics - Anfänger-Themen 10
E String bestehend aus Ziffern in Zahl verwandeln Java Basics - Anfänger-Themen 3
W Methoden Ausgabe true wenn nur Ziffern <= 1 vorhanden Java Basics - Anfänger-Themen 9
J Skalierung von Ziffern Java Basics - Anfänger-Themen 10
K wiederholung von ziffern Java Basics - Anfänger-Themen 3
K double-Wert aus einzelnen Ziffern erzeugen Java Basics - Anfänger-Themen 7
T Ziffern anordnen Java Basics - Anfänger-Themen 3
M Methode für nur Ziffern?? Java Basics - Anfänger-Themen 3
B Auf die Ziffern einer Zahl zugreifen Java Basics - Anfänger-Themen 6
C Rekursive Methode - Ziffern in Zahl Java Basics - Anfänger-Themen 33
Haave EAN-13-Prüfziffer: Vermeiden von Eingaben mit mehr/weniger als 12 Ziffern Java Basics - Anfänger-Themen 3
G 9-stellige Zahl mit den Ziffern 1-9 Java Basics - Anfänger-Themen 2
D Einzelne Ziffern aus einem String Java Basics - Anfänger-Themen 10
N Wie kann ich Ziffern einer eingegenen Zahl adressieren? Java Basics - Anfänger-Themen 6
B Ziffern erkennung Java Basics - Anfänger-Themen 4
G Summe der Ziffern einer Zahl EFFIZIENT berechnen? Java Basics - Anfänger-Themen 18
G String auf Ziffern prüfen Java Basics - Anfänger-Themen 30
B Eingabe von Ziffern prüfen Java Basics - Anfänger-Themen 3
W Letzten beiden Ziffern eines BigIntegers bestimmen? Java Basics - Anfänger-Themen 20
G Ziffern tauschen Java Basics - Anfänger-Themen 15
M Römische Ziffern Java Basics - Anfänger-Themen 5
G Wie eine Int Zahl in die einzelnen Ziffern zerlegen? Java Basics - Anfänger-Themen 6
L Anzahl der Eingegebenen Ziffern ausgeben? Java Basics - Anfänger-Themen 7
M nur Ziffern dürfen eingetippt werden Java Basics - Anfänger-Themen 10
F Ziffern einer eingelesenen Zahl ausgeben bzw. bearbeiten Java Basics - Anfänger-Themen 4
S Anzahl der Ziffern einer Zahl Java Basics - Anfänger-Themen 10
D römische Zahlen in Dezimal ausgeben Java Basics - Anfänger-Themen 9
M Methoden Römische Zahlen Java Basics - Anfänger-Themen 5
B römische Zahlen vergleichen Java Basics - Anfänger-Themen 23
S Römische Zahlen umwandeln Java Basics - Anfänger-Themen 11
S Römische Zahlen in Dezimalzahlen und umgekehrt Java Basics - Anfänger-Themen 10
C Römische Zahlen Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben