package test13;
import test11.S;
import java.util.Scanner;
public class Num {
public static void main(String[] args)
{
// I II III IV V VI VII VIII IX
//要求:将输入的字符串中的数字转换为罗马数字,长度小于9(运用方法:查表法)
//1输入数字
//2有效字符判断
//3运用方法转换数字
Scanner sc=new Scanner(System.in);
String str;
String result="";
while(true) {
System.out.println("请输入字符串:");
str=sc.next();
boolean flag=checkStr(str);
if (flag) {
break;
} else {
System.out.println("输入字符串不符合要求,请重新输入");
continue;
}
}
for (int i = 0; i < str.length(); i++) {
char c=str.charAt(i);
int number=c-48;//
result+=changeLuoMa(number);
result+=" " ;
}
System.out.println(result);
}
//定义方法判断字符串是否符合(要求:长度小于9,输入的是数字)
public static boolean checkStr(String arr)
{
if(arr.length()>9)
{
return false;
}
else
{
for (int i = 0; i < arr.length(); i++) {
char c=arr.charAt(i);
if(c>'9'||c<'0')
{
return false;
}
}
}
return true;
}
//定义方法转换罗马数字 因为罗马数字没有0 所以用 ""来代替
public static String changeLuoMa(int number)
{// I II III IV V VI VII VIII IX
String[] Luoma={"","I","II","III","IV","V","VI","VII","VIII","IX"};
return Luoma[number];
}
}