Guten Tag zusammen,
ich komme bei einem Programm nicht weiter um Römische Zahlen in Dezimalzahlen umzuwandeln. Also ich verstehe das mit den Strings noch nicht genau bei vergleichen.
Mein Code:
Meine Frage wäre, Wie kann ich eine korrekte Abbruchbedingung mit Strings machen? Also das sozusagen abgebrochen wird wenn die eingebene Zeile "leer" ist, sowas wie inputFromUser.equals(""); Aber das funktioniert nicht. Oder muss ich hier mit Chars arbeiten? Um einzelne Zeichen zulesen.
Ich möchte ja hier quasie wenn zum Beispiel eingeben wird MMM, das ich 3000 erhalte.
Liebe Grüße
Lee
ich komme bei einem Programm nicht weiter um Römische Zahlen in Dezimalzahlen umzuwandeln. Also ich verstehe das mit den Strings noch nicht genau bei vergleichen.
Mein Code:
Code:
import java.util.Scanner;
public class RomanNumbers {
public static void main(String[] args) {
/* Program to calculate Roman numbers to decimal numbers */
String inputFromUser;
// Save Roman Numbers in Array
String[] romanNumbers = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" };
// Save arabic System Numbers
int[] arabicNumbers = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 };
int arrayIndex = 0;
// Introdcution for User
System.out.println("Please enter a Roman Number: ");
// Scanner Import
Scanner sc = new Scanner(System.in);
inputFromUser = sc.next(); // user can input a String chain
// Variables for the doWhileLoop
int resultOfNumbers = 0;
do {
if (inputFromUser.equals(romanNumbers[arrayIndex])) {
resultOfNumbers = resultOfNumbers + arabicNumbers[arrayIndex];
} else {
arrayIndex++; // increase index to get the next Element in the Array
}
} while (//Was ist meine Abbruchbedingung );
System.out.println("Your Decimal Number is: " + resultOfNumbers);
sc.close(); // Close the Scanner
}
}
Meine Frage wäre, Wie kann ich eine korrekte Abbruchbedingung mit Strings machen? Also das sozusagen abgebrochen wird wenn die eingebene Zeile "leer" ist, sowas wie inputFromUser.equals(""); Aber das funktioniert nicht. Oder muss ich hier mit Chars arbeiten? Um einzelne Zeichen zulesen.
Ich möchte ja hier quasie wenn zum Beispiel eingeben wird MMM, das ich 3000 erhalte.
Liebe Grüße
Lee