51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

String罗马数字的转换

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];
    }
}
赞(9)
未经允许不得转载:工具盒子 » String罗马数字的转换