String罗马数字的转换
练习 键盘录入一个字符串 要求1:长度小于等于9 要求2:只能是数字
import java.util.Scanner;
public class LMmoney {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str;
while (true) {
System.out.println("请输入一个字符串");
str = sc.next();
if (pdSz(str)) {
break;
} else {
System.out.println("字符串错误,请重新输入");
}
}
// 把字符串的值循环替换掉
StringBuffer sb = new StringBuffer();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
int zero = c - 48;
String v = lmsz(zero);
sb.append(v);
}
System.out.println(sb);
}
public static boolean pdSz(String str) {
// 判断字符串长度是否小于9并且里面的值是数字
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;
}
public static String lmsz(int sz) {
// 创建一个与str产生联系的数组,下标与值相同
String arr[] = {"", "Ⅰ", "Ⅱ", "Ⅲ", "Ⅳ", "Ⅴ", "Ⅵ", "Ⅶ", "Ⅷ", "Ⅸ"};
return arr[sz];
}
}