java利用String将阿拉伯数字变为罗马数字
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将阿拉伯数字变为罗马数字相关推荐
- Java小案例----阿拉伯数字转换为罗马数字
在日常需求中,常常会将数字转换为另外一种形式,如阿拉伯数字转中文的,或者是转成支票中出现的中文数字,还有转成英语的,其实原理都大同小异,本次的需求是,是将用户输入的阿拉伯数字转换为罗马数字(长度不能超 ...
- java mysql判断字符串相等_【Java】利用String的compareTo比较两个时期字符串
在<[Java]比对两个以字符串形式表示的时期是否相差超过1天>(点击打开链接)曾经介绍过,如果利用字符串的截取来比较两个在数据库中取出来,被特定格式化的日期.然而,这具有一定的局限性,最 ...
- Java 利用Calender类制作日历,并且标注日期
#Java 利用Calender类制作日历,并且标注日期 文章目录 1.题目需求 2. Calender类 java.uiti 类 Calender 3. 代码思路 1.从控制台获取一个日期.如202 ...
- 将阿拉伯数字变成罗马数字 案例
键盘录入一个字符串, 要求1:长度为小于等于9 要求2:只能是数字,将内容变成罗马数字 下面是阿拉伯数字跟罗马数字的对比关系: Ⅰ-1.Ⅱ-2.Ⅲ-3.Ⅳ-4.Ⅴ-5.Ⅵ-6.Ⅶ-7.Ⅷ-8.Ⅸ-9 ...
- Java的java.lang.String类详解
String类详解 String(字符串常量)概述 在API中是这样描述: String 类代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. ...
- Java 之String、StringBuffer 和 StringBuilder 三者区别介绍
String:字符串常量,字符串长度不可变,StringBuffer:字符串变量(Synchronized,即线程安全),StringBuilder:字符串变量(非线程安全). String Stri ...
- 2.Java中String,StringBuilder以及StringBuffer的关系与区别
String StringBuffer StringBuilder String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费大量 ...
- 如何在Java中将String转换为int?
如何在Java中将String转换为int ? 我的字符串仅包含数字,我想返回它代表的数字. 例如,给定字符串"1234" ,结果应为数字1234 . #1楼 好吧,要考虑的一个非 ...
- JBPM流程部署校验之java利用XSD校验XML
JBPM流程定义校验之java利用XSD校验XML 上篇我们学习了在.net中怎样利用XSD来验证xml,今天我们来看一下在java中怎样实现利用xsd来校验xml! /** * */ pack ...
最新文章
- fastJson结合Nutz.Mapl的进阶应用
- IOS问题汇总:2015-1-14 xib连线问题
- Android数据之Json解析
- C语言学习之求一个3X3的整型矩阵对角线元素之和。
- Java高效读取大文件(转)
- 企业 全功能邮件服务器
- C#ListBox对Item进行重绘,包括颜色
- 数据结构 【实验3 链表基本操作】
- Android之用adb screencap -p命令截图
- Python搭建web服务器
- SPOJ Problem 22:Triangle From Centroid
- Python——格式转换的学习笔记
- (2)、PHP Win10 本地配置RabbitMq
- ImDisk(似收费的primo ramdisk)免费软件/内存作硬盘
- 监控摄像头服务器中断是什么原因,监控系统常见问题故障及处理方法
- LeetCode1175. 质数排列Prime Arrangements
- Logstash mutate 插件
- 海洋cms标签-海洋cms模板标签手册-海洋cms模板标签全套
- 多传感器融合算法,单目测距、基于双目,长焦短焦,图像拼接,环视等
- python3注册全局热键
热门文章
- MySQL填坑系列--Linux平台下MySQL区分大小写问题
- 黑客很忙:拿巨额奖金以及帮助警察蜀黍破案|宅客周刊
- Keychain 浅析
- ubuntu安装teamviewer后无法打开,提示权限不够
- 天龙八部搭建mysql教程_天龙八部架设mysql数据库
- 晶体三极管的三个工作区域及温度对特性的影响
- 回首我的初中生活·机器人
- python中cat,stac,transpose,permute,squeeze区别用法
- 多模态学习(Multimodal Deep Learning)研究进展综述(转载)
- Embedding Label Structures:细粒度特征表示的标签结构嵌入