Java: Konversi Desimal ke Romawi

Program Java menggunakan Text Pad: Konversi Desimal Ke Romawi

Berikut algoritmanya:
1. setiap kelipatan 1000 diganti dengan 1 M
2. sisanya kalau di atas 900, tambahin CM
3. sisanya kalau diatas limaratus tambahin D
4. sisanya kalau diatas empat ratus tambahin CD
5. sisanya setiap kelipatan seratus tambahin 1 C
6. sisanya kalo diatas 90, tambahin XC
7. sisanya kalau diatas 50 tambahin L
8. sisanya kalau diatas 40 tambahin CL
9. sisanya untuk setiap kelipatan 10 tambahin C
10. sisanya kalau 9 jadiin IX
11. sisanya kalau lebih dari 5, tambahin V
12 sisanya kalau 4 jadiin IV
13 sisanya di ubah jadi I
Source: http://forum.kafegaul.com/archive/index.php/t-178063.html


Jadi saya gunakan if else if
Berikut programnya

import java.io.*;
class Konversi {
public static void main (String args[]) {
try
{
int angka;

do
{

System.out.print (“Masukkan Angka Desimal (1-4000): “);
BufferedReader bfr = new BufferedReader (new InputStreamReader(System.in));
angka = Integer.parseInt(bfr.readLine());

} while (angka < 1 || angka > 4000);

String rom = “”;

do
{

if (angka >= 1000){
angka = angka – 1000;
rom = rom + “M”;
}
else if (angka >= 900){
angka = angka – 900;
rom = rom + “CM”;
}
else if (angka >= 500){
angka = angka – 500;
rom = rom + “D”;
}
else if (angka >= 400){
angka = angka – 400;
rom = rom + “CD”;
}
else if (angka >=100){
angka = angka – 100;
rom = rom + “C”;
}
else if (angka >=90){
angka = angka – 90;
rom = rom + “XC”;
}
else if (angka >=50){
angka = angka – 50;
rom = rom + “L”;
}
else if (angka >=40){
angka = angka – 40;
rom = rom + “XL”;
}
else if (angka >=10){
angka = angka – 10;
rom = rom + “X”;
}
else if (angka >=9){
angka = angka – 9;
rom = rom + “IX”;
}
else if (angka >=5){
angka = angka – 5;
rom = rom + “V”;
}
else if (angka >=4){
angka = angka – 4;
rom = rom + “IV”;
}
else if (angka >=1){
angka = angka – 1;
rom = rom + “I”;
}

} while (angka > 0);

System.out.println(“Angka Romawi: “+ rom);

}
catch (IOException io)
{
System.out.println (“Error: ” + io.getMessage());
}
}
}