当前位置: 首页> 汽车> 新车 > 数字转罗马字符

数字转罗马字符

时间:2025/8/25 8:38:08来源:https://blog.csdn.net/weixin_48690722/article/details/140859646 浏览次数: 0次

 

import java.util.Scanner;/*** @author gyf* @ClassName Test* @Date 2024/7/31 17:14* @Version V1.0* @Description : 方法一*/
public class Test {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入一个字符串: ");// 要求长度小于等于9,且只能是数字String str = scanner.next();System.out.println(str);while (true) {if (isValidNumber(str)) {System.out.println("输入字符串正确");break;} else {System.out.println("输入的不正确,请重新输入:");str = scanner.next();}}// 初始化一个sb 做字符串的拼接StringBuilder sb = new StringBuilder("");System.out.println("你输入的字符串是:" + str);for (int i = 0; i < str.length(); i++) {char c = str.charAt(i);// 将字符转化为整数 '0'-48 就表示数字0int number = c - 48;String tempstr = luoma(number);if (i == str.length() - 1) {sb.append(tempstr);} else {sb.append(tempstr);sb.append(" ");}}System.out.println("转化后的字符串为:");System.out.println(sb);}// 输入字符串校验的函数public static boolean isValidNumber(String str) {// 判断长度是否小于等于9if (str.length() > 9) {return false;}// 判断是否全为数字for (int i = 0; i < str.length(); i++) {char c = str.charAt(i);if (c < '0' || c > '9') {return false;}}return true;}// 获取对应的罗马字符串内容public static String luoma(int number) {// 作为替换的内容String[] luoma = {" ", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};return luoma[number];}}

 

import java.util.Scanner;/*** @author gyf* @ClassName Test* @Date 2024/7/31 17:14* @Version V1.0* @Description : 方法一*/
public class Test {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入一个字符串: ");// 要求长度小于等于9,且只能是数字String str = scanner.next();System.out.println(str);while (true) {if (isValidNumber(str)) {System.out.println("输入字符串正确");break;} else {System.out.println("输入的不正确,请重新输入:");str = scanner.next();}}// 初始化一个sb 做字符串的拼接StringBuilder sb = new StringBuilder("");System.out.println("你输入的字符串是:" + str);for (int i = 0; i < str.length(); i++) {char c = str.charAt(i);String tempstr = luoma(c);if (i == str.length() - 1) {sb.append(tempstr);} else {sb.append(tempstr);sb.append(" ");}}System.out.println("转化后的字符串为:");System.out.println(sb);}// 输入字符串校验的函数public static boolean isValidNumber(String str) {// 判断长度是否小于等于9if (str.length() > 9) {return false;}// 判断是否全为数字for (int i = 0; i < str.length(); i++) {char c = str.charAt(i);if (c < '0' || c > '9') {return false;}}return true;}// 获取对应的罗马字符串内容public static String luoma(char c) {// 字符对应字符串内容 复制给str 并作为一次的结果返回String str = switch (c){case '0'-> "";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;}}

 

import java.util.Scanner;/*** @author gyf* @ClassName Test* @Date 2024/7/31 17:14* @Version V1.0* @Description : 方法三*/
public class Test {public static void main(String[] args) {String[] luoma = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};Scanner scanner = new Scanner(System.in);System.out.println("请输入一个字符串: ");// 要求长度小于等于9,且只能是数字String str = scanner.next();System.out.println(str);while (true) {if (isValidNumber(str)) {System.out.println("输入字符串正确");break;} else {System.out.println("输入的不正确,请重新输入:");str = scanner.next();}}// 初始化一个sb 做字符串的拼接StringBuilder sb = new StringBuilder("");System.out.println("你输入的字符串是:" + str);for (int i = 0; i < str.length(); i++) {char c = str.charAt(i);String tempstr = luoma(c, luoma);if (i == str.length() - 1) {sb.append(tempstr);} else {sb.append(tempstr);sb.append(",");}}System.out.println("转化后的字符串为:");System.out.println(sb);}// 输入字符串校验的函数public static boolean isValidNumber(String str) {// 判断长度是否小于等于9if (str.length() > 9) {return false;}// 判断是否全为数字for (int i = 0; i < str.length(); i++) {char c = str.charAt(i);if (c < '0' || c > '9') {return false;}}return true;}// 获取对应的罗马字符串内容public static String luoma(char c, String[] arr) {String str = "";if ((c - 48) == 0) {str = arr[0];} else if ((c - 48) == 1) {str = arr[1];} else if ((c - 48) == 2) {str = arr[2];} else if ((c - 48) == 3) {str = arr[3];} else if ((c - 48) == 4) {str = arr[4];} else if ((c - 48) == 5) {str = arr[5];} else if ((c - 48) == 6) {str = arr[6];} else if ((c - 48) == 7) {str = arr[7];} else if ((c - 48) == 8) {str = arr[8];} else if ((c - 48) == 9) {str = arr[9];} else {str = "";}return str;}}

关键字:数字转罗马字符

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: