键盘录入一个字符串

news/2024/11/24 11:42:21/

要求1:长度为小于等于9要求2:只能是数字

将内容变成罗马数字

下面是阿拉伯数字跟罗马数字的对比关系:

I-1、II-2、III-3、IV-4、V-5、VI-6、VII-7、VII-8、IX-9 注意点:

罗马数字里面是没有0的

如果键盘录入的数字包含0,可以变成""(长度为0的字符串)

//方法一:
package train2;import java.util.Scanner;public class finger {public static void main(String[] args) {//1.键盘录入数据Scanner sc = new Scanner(System.in);String str;while (true) {System.out.println("请输入一个字符串");str = sc.next();//2.检验字符串boolean flag = check(str);if (flag) {break;} else {System.out.println("字符串不符合规则");continue;}}//运用查表法,将数字与罗马字符进行对应StringBuilder s = new StringBuilder();//StringBuilder是可变式字符串,不需要做缓冲for (int i = 0; i < str.length(); i++) {char a = str.charAt(i);int num = a - 48;String get = changluoma(num);//在s中添加gets.append(get);}System.out.println(s);}//建立一个新方法导入罗马数字并返回一个数组public static String changluoma(int number) {//定义一个数组让数字与罗马数字产生对应关系String[] arr = {"", "Ⅰ", "Ⅱ", "Ⅲ", "Ⅳ", "Ⅴ", "Ⅵ", "Ⅶ", "Ⅷ", "Ⅸ"};return arr[number];}//建立一个新方法进行判断public static boolean check(String str) {//要求1:长度小于9if (str.length() > 9) {return false;}//要求2:只能是数字for (int i = 0; i < str.length(); i++) {char a = str.charAt(i);if (a < '0' || a > '9') {return false;}}//判断全部的字符串return true;}
}
//方法二:
package train2;import java.util.Scanner;public class finger2 {public static void main(String[] args) {//1.键盘录入数据Scanner sc = new Scanner(System.in);String str;while (true) {System.out.println("请输入一个字符串");str = sc.next();//2.检验字符串boolean flag = check(str);if (flag) {break;} else {System.out.println("字符串不符合规则");continue;}}//运用查表法,将数字与罗马字符进行对应StringBuilder s = new StringBuilder();//StringBuilder是可变式字符串,不需要做缓冲for (int i = 0; i < str.length(); i++) {char a = str.charAt(i);String get = changluoma(a);//在s中添加gets.append(get);}System.out.println(s);}//建立一个新方法导入罗马数字并返回一个数组public static String changluoma(char number) {//运用switch进行分配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 -> str = "";};return str;}//建立一个新方法进行判断public static boolean check(String str) {//要求1:长度小于9if (str.length() > 9) {return false;}//要求2:只能是数字for (int i = 0; i < str.length(); i++) {char a = str.charAt(i);if (a < '0' || a > '9') {return false;}}//判断全部的字符串return true;}
}


http://www.ppmy.cn/news/339026.html

相关文章

给程序猿男朋友买了一把2千块的机械键盘,然后对他说:用它养我

程序员买得起HHKB吗&#xff1f;都买得起。但是他们大部分都不会很快就买了。一是舍不得&#xff0c;毕竟自己烧键盘多少有点不好意思。二是希望它的来历赋予某种意义。 就像一个很好看的戒指&#xff0c;你很喜欢&#xff0c;虽然你买得起&#xff0c;但你可能更希望它是一个…

键盘DIY一个指纹识别

今天就来教大家如何强势改造自己的键盘&#xff0c;给它添加上指纹模块&#xff0c;一键登录美滋滋…… 在Windows 10发布时&#xff0c;除了使用传统的登陆密码&#xff0c;操作系统还支持三种Windows Hello类型&#xff1a; PIN&#xff0c;面部识别&#xff0c;和指纹识别。…

计算机中键盘可以共享吗,两个电脑怎么共用一个键盘

两个电脑怎么共用一个键盘 有些办公人员需要用两台电脑来工作&#xff0c;但是只想要一套鼠标键盘控制&#xff0c;那么两个电脑怎么共用一个键盘呢?下面就让jy135来告诉大家吧&#xff0c;欢迎阅读。 1、首先要知道两台电脑的ip地址。ip地址可以通过电脑开始菜单中的运行框&a…

java多少钱一个月,全网首发!

第一篇Linux基础学习篇 目录 第零章﹑计算机概论关于电脑的硬件组成部分﹐其实你可以观察你的台式机来分析一下﹐依外观来说这家伙主要可分为三部分﹐分别是∶ 输入单元∶包括键盘﹑鼠标﹑读卡机﹑扫描仪﹑手写板﹑触摸屏等等一堆﹔主机部分∶这个就是系统单元﹐被主机机箱保护…

一对一python培训班多少钱

IT行业热度不减&#xff0c;成人IT培训同步增长&#xff0c;每年维持稳定攀升。同时&#xff0c;针对少儿人群的泛IT类培训正快速成为新兴市场&#xff0c;在社会职业结构变迁、需求和政策拉动下&#xff0c;发展如火如荼&#xff0c;新老玩家纷纷入场。 达内教育深耕IT职业培…

机房常见线缆

1、串口线缆-百度百科 2、mini SAS HD 电缆 3、详见2 4、AOC线缆-有源线缆 5、100G QSFP28线缆 6、25G SFP28线缆 7、FDR线缆 8、MPO-4*DLC光纤 9、光纤跳线 推荐链接&#xff1a;一文了解什么是SFP28和QSFP28 推荐链接&#xff1a;所有你要知道的光纤和接口类型-简书

认识CAN光纤转换器的光纤接口和配套光纤线缆

这里提供的一些小知识&#xff0c;可以帮助你根据施工现场预留的光纤线&#xff0c;快速确定选配什么规格型号的CAN光纤转换器。 1、SC接口、单模、2路光通道、每路光通道是双芯 2、ST接口、单模、2路光通道、每路光通道是双芯 3、FC接口、单模、2路光通道、每路光通道是双芯…

认识消防报警联网中CAN光纤转换器的光纤接口和配套光纤线缆

这里提供的一些小知识&#xff0c;可以帮助你根据消防施工现场预留的光纤线&#xff0c;快速确定选配什么规格型号的CAN光纤转换器。 1、SC接口、单模、2路光通道、每路光通道是双芯 2、ST接口、单模、2路光通道、每路光通道是双芯 3、FC接口、单模、2路光通道、每路光通道是…