当前位置: 首页 > news >正文

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

import java.util.Scanner;

public class Num2 {
    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;
            }
        }
        StringBuilder sb=new StringBuilder();

        for (int i = 0; i < str.length(); i++) {
            char c=str.charAt(i);
            String s=changeLuoMa(c);
            sb.append(s);
            sb.append(" ");
        }
        System.out.println(sb);
    }
    //定义方法判断字符串是否符合(要求:长度小于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(char number)
    {// I II III IV V VI VII VIII IX
        String str=switch(number)
       {
           case '1'->"I";
           case '2'->"II";
           case '3'->"III";
           case '4'->"IV";
           case '5'->"V";
           case '6'->"VI";
           case '7'->"VII";
           case '8'->"VIII";
           case '9'->"IX";
           default->"";
       };
    return str;
    }
}

相关文章:

  • Arduino安装包、驱动、ESP离线包【2025免费下载】【附开发资源包】
  • Huggingface命令行下载开源大模型
  • 【Delphi 开箱即用 8】多进程之间共享内存的封装单元
  • Cesium零基础速成教程:一小时入门Cesium
  • 学习springboot 的自动配置原理
  • 电子招采软件系统,如何实现10年可追溯审计
  • 动态内存分配:基于C语言的详细解析与实践
  • LRU(最近最少使用)算法实现
  • java 的标记接口RandomAccess使用方法
  • Visual Studio里的调试(debugging)功能介绍
  • Python第二十二课:元学习 | 学会学习的学习
  • L1-7 统一命名规范(java)
  • C 语 言 --- 二 维 数 组 的 应 用
  • 【Python 语法】排序算法
  • redis部署架构
  • Linux书签上下移动
  • Git LFS (Large File Storage) 简介
  • redis主从搭建
  • 79.HarmonyOS NEXT 手势操作模型详解:移动、缩放与旋转的实现原理
  • 1216走迷宫
  • 世卫大会连续九年拒绝涉台提案
  • 1至4月国家铁路发送货物12.99亿吨,同比增长3.6%
  • 牛市早报|上市公司重大资产重组新规出炉,4月经济数据将公布
  • 波兰总统选举第一轮投票结束,出口民调显示将进入第二轮投票
  • CBA官方对孙铭徽罚款3万、广厦投资人楼明停赛2场罚款5万
  • 陶石不语,玉见文明:临平玉架山考古博物馆明日开馆