import java.util.Scanner;public class StringDemo9 {public static void main(String[] args) {//键入一个字符串 要求只能是数字 长度是9//将该字符串内容全部变成罗马数字并打印,0 变为 " "(长度为0的字符串)//1.进行校验   长度小于等于9 且 只能是数字String str;while (true){System.out.println("键入一个字符串:");Scanner sc = new Scanner(System.in);str = sc.next();boolean result = checkStr(str);if(result){break;}else{System.out.println("输入不符合题目要求,请重新输入");}}StringBuilder sb = new StringBuilder();  //容器进行字符串拼接、反转//2.将键入的字符串接受为单个char for (int i = 0; i < str.length(); i++) {char c = str.charAt(i);              //字符串变为单个char类型 int number = c - 48;                //字符1需要变成数字1 利用ascll表String s =numberToLuoma(c);         //sb.append(s);}System.out.println(sb);}public static boolean checkStr(String str){    if(str.length() > 9){      //大于9 错误return false;}for (int i = 0; i < str.length(); i++) {    //遍历 不在0~9之间 错误char c = str.charAt(i); // 0~9if(c <'0' || c > '9'){return false;}}return true;     //错误时返回false 结束调用该方法 所以最后返回true}public static String numberToLuoma(char number){String str = switch (number){case '0' ->  " ";case '1' ->  "Ⅰ";case '2' ->  "Ⅱ";case '3' ->  "Ⅲ";case '4' ->  "Ⅳ";case '5' ->  "Ⅴ";case '6' ->  "Ⅵ";case '7' ->  "Ⅶ";case '8' ->  "Ⅷ";case '9' ->  "Ⅸ";default ->   " ";};return str;}
}

java利用String将阿拉伯数字变为罗马数字相关推荐

  1. Java小案例----阿拉伯数字转换为罗马数字

    在日常需求中,常常会将数字转换为另外一种形式,如阿拉伯数字转中文的,或者是转成支票中出现的中文数字,还有转成英语的,其实原理都大同小异,本次的需求是,是将用户输入的阿拉伯数字转换为罗马数字(长度不能超 ...

  2. java mysql判断字符串相等_【Java】利用String的compareTo比较两个时期字符串

    在<[Java]比对两个以字符串形式表示的时期是否相差超过1天>(点击打开链接)曾经介绍过,如果利用字符串的截取来比较两个在数据库中取出来,被特定格式化的日期.然而,这具有一定的局限性,最 ...

  3. Java 利用Calender类制作日历,并且标注日期

    #Java 利用Calender类制作日历,并且标注日期 文章目录 1.题目需求 2. Calender类 java.uiti 类 Calender 3. 代码思路 1.从控制台获取一个日期.如202 ...

  4. 将阿拉伯数字变成罗马数字 案例

    键盘录入一个字符串, 要求1:长度为小于等于9 要求2:只能是数字,将内容变成罗马数字 下面是阿拉伯数字跟罗马数字的对比关系: Ⅰ-1.Ⅱ-2.Ⅲ-3.Ⅳ-4.Ⅴ-5.Ⅵ-6.Ⅶ-7.Ⅷ-8.Ⅸ-9 ...

  5. Java的java.lang.String类详解

    String类详解 String(字符串常量)概述 在API中是这样描述: String 类代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. ...

  6. Java 之String、StringBuffer 和 StringBuilder 三者区别介绍

    String:字符串常量,字符串长度不可变,StringBuffer:字符串变量(Synchronized,即线程安全),StringBuilder:字符串变量(非线程安全). String Stri ...

  7. 2.Java中String,StringBuilder以及StringBuffer的关系与区别

    String     StringBuffer     StringBuilder String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费大量 ...

  8. 如何在Java中将String转换为int?

    如何在Java中将String转换为int ? 我的字符串仅包含数字,我想返回它代表的数字. 例如,给定字符串"1234" ,结果应为数字1234 . #1楼 好吧,要考虑的一个非 ...

  9. JBPM流程部署校验之java利用XSD校验XML

    JBPM流程定义校验之java利用XSD校验XML 上篇我们学习了在.net中怎样利用XSD来验证xml,今天我们来看一下在java中怎样实现利用xsd来校验xml! /**  *   */ pack ...

最新文章

  1. fastJson结合Nutz.Mapl的进阶应用
  2. IOS问题汇总:2015-1-14 xib连线问题
  3. Android数据之Json解析
  4. C语言学习之求一个3X3的整型矩阵对角线元素之和。
  5. Java高效读取大文件(转)
  6. 企业 全功能邮件服务器
  7. C#ListBox对Item进行重绘,包括颜色
  8. 数据结构 【实验3 链表基本操作】
  9. Android之用adb screencap -p命令截图
  10. Python搭建web服务器
  11. SPOJ Problem 22:Triangle From Centroid
  12. Python——格式转换的学习笔记
  13. (2)、PHP Win10 本地配置RabbitMq
  14. ImDisk(似收费的primo ramdisk)免费软件/内存作硬盘
  15. 监控摄像头服务器中断是什么原因,监控系统常见问题故障及处理方法
  16. LeetCode1175. 质数排列Prime Arrangements
  17. Logstash mutate 插件
  18. 海洋cms标签-海洋cms模板标签手册-海洋cms模板标签全套
  19. 多传感器融合算法,单目测距、基于双目,长焦短焦,图像拼接,环视等
  20. python3注册全局热键

热门文章

  1. MySQL填坑系列--Linux平台下MySQL区分大小写问题
  2. 黑客很忙:拿巨额奖金以及帮助警察蜀黍破案|宅客周刊
  3. Keychain 浅析
  4. ubuntu安装teamviewer后无法打开,提示权限不够
  5. 天龙八部搭建mysql教程_天龙八部架设mysql数据库
  6. 晶体三极管的三个工作区域及温度对特性的影响
  7. 回首我的初中生活·机器人
  8. python中cat,stac,transpose,permute,squeeze区别用法
  9. 多模态学习(Multimodal Deep Learning)研究进展综述(转载)
  10. Embedding Label Structures:细粒度特征表示的标签结构嵌入