Tämä esimerkki muuttaa luvun roomalaiseksi ja muodostaa siitä lausekkeen. Ideana on aloittaa ensin tarkastaminen suuremmista luvuista ja tätä jatketaan niin kauan kunnes on päästy nollaan.
import java.util.Scanner;
public class RoomalainenNumerot {
public static void main(String[] args){
Scanner syote = new Scanner(System.in);
int luku = 0;
//Muutetaan lukuyksiköt roomalaisiksi ja muodostetaan lauseke.
String[] osat = {"C","XC","L","XL","X","IX","V","IV","I"};
int[] lukuOsat = {100,90,50,40,10,9,5,4,1};
int indeksi = 0;
int merkki = 97;
String tulos = "";
System.out.println("Anna luku");
luku = syote.nextInt();
//Siirrytään taulukossa niin kauan eteenpäin kunnes nolla on saavutettu.
while (luku > 0){
if (luku >= lukuOsat[indeksi]){
luku -= lukuOsat[indeksi];
tulos += (char)(merkki)+ "^"+osat[indeksi];
merkki++;
if (luku > 0){
//Lauseke jatkuu vielä.
tulos += " + ";
}
}
else {
//Seuraava yksikkö.
indeksi++;
}
}
System.out.println("Tulos: " + tulos);
}
}Aihe on jo aika vanha, joten et voi enää vastata siihen.