Преобразование целых чисел в римские цифры – JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Преобразование целых чисел в римские цифры – Java

Сообщение Anonymous »

У меня возникли проблемы с домашним заданием.

Мне нужно преобразовать целое число в римские цифры, используя метод. Позже мне придется использовать программу для записи чисел от 1 до 3999 римскими цифрами, поэтому жесткое кодирование отсутствует. Мой код ниже очень простой; это базовый цикл ввода-вывода с возможностью выхода при использовании пакета для getIntegerFromUser, который мы создали в классе.

Есть ли способ присваивать значения в строки, а затем добавляю их вместе, когда я вызываю метод?

Обновление: Я получил псевдокод от своего профессора, чтобы помочь мне, и хотя я понимаю, что он пытается сказать, у меня возникают некоторые проблемы с если. Потребуется ли мне много-много операторов if, чтобы мой преобразователь правильно обрабатывал форматирование римских цифр, или есть способ сделать это с большей эффективностью? Я обновил свой код, чтобы отразить метод-заполнитель.

Обновление (28 октября 2012 г.): У меня все заработало. Вот что я в итоге использовал:

public static String IntegerToRomanNumeral(int input) {
if (input < 1 || input > 3999)
return "Invalid Roman Number Value";
String s = "";
while (input >= 1000) {
s += "M";
input -= 1000; }
while (input >= 900) {
s += "CM";
input -= 900;
}
while (input >= 500) {
s += "D";
input -= 500;
}
while (input >= 400) {
s += "CD";
input -= 400;
}
while (input >= 100) {
s += "C";
input -= 100;
}
while (input >= 90) {
s += "XC";
input -= 90;
}
while (input >= 50) {
s += "L";
input -= 50;
}
while (input >= 40) {
s += "XL";
input -= 40;
}
while (input >= 10) {
s += "X";
input -= 10;
}
while (input >= 9) {
s += "IX";
input -= 9;
}
while (input >= 5) {
s += "V";
input -= 5;
}
while (input >= 4) {
s += "IV";
input -= 4;
}
while (input >= 1) {
s += "I";
input -= 1;
}
return s;
}


Подробнее здесь: https://stackoverflow.com/questions/129 ... erals-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»