Write a Java program to allow the user to enter an integer and convert it into its roman equivalent. The program should work for numbers in the range 1 to 3999.
Examples:
INPUT: 72
OUTPUT: LXXII
INPUT: 200
OUTPUT: CC
INPUT: 4000
OUTPUT: NUMBER OUT OF RANGE
import java.util.Scanner;
class ConvertToRoman{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.print("Enter the integer: ");
int num = Integer.parseInt(in.nextLine());
if(num > 3999 || num < 1){
System.out.println("NUMBER OUT OF RANGE");
return;
}
String roman = toRoman(num);
System.out.println("Roman equivalent: " + roman);
}
public static String toRoman(int num){
int values[] = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
String symbols[] = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
String roman = new String();
for(int i = 0; i < values.length && num > 0; i++){
while(num >= values[i]){
num -= values[i];
roman += symbols[i];
}
}
return roman;
}
}