较难练习数字与罗马数字之间的转换
package test.dyihe3;
import java.util.Scanner;
import java.util.StringJoiner;
public class StringDemo9 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str;
while (true) {
System.out.println("请输入一个字符串");
str = sc.next();
boolean flag = checkStr(str);
if (flag){
break;
}else{
System.out.println("字符串不符合规则,请重新输入");
continue;
}
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
int number = c - 48;
String s = changLuMa(number);
sb.append(s);
}
System.out.println(sb);
}
public static String changLuMa(int number){
String[] arr = {"","Ⅰ","Ⅱ","Ⅲ","Ⅳ","Ⅴ","Ⅵ","Ⅶ","Ⅷ","Ⅸ"};
return arr[number];
}
public static boolean checkStr(String str) {
if (str.length() > 9) {
return false;
}
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c < '0' || c > '9') {
return false;
}
}
return true;
}
}