java字符串案例 //要求:将输入的字符串中的数字转换为罗马数字,长度小于9(运用方法:查表法)

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];
    }
}

你可能感兴趣的:(java,算法,开发语言)