方法1:查表法
//数字-->罗马字符
public static String changeLuoMa(int number){
String[] arr = {"","Ⅰ","Ⅱ","Ⅲ","Ⅳ","Ⅴ","Ⅵ","Ⅶ","Ⅷ","Ⅸ",};
return arr[number];
}
完整代码:
import java.util.Scanner;
public class Test1Case1 {
public static void main(String[] args) {
//键盘录入字符串
Scanner sc = new Scanner(System.in);
String str;
//条件判断
while (true) {
str = sc.next();
boolean flag = checkStr(str);
if (flag){
break;
}else {
System.out.println("当前字符串不符合规则,请重新输入");
continue;
}
}
StringBuilder sb = new StringBuilder();//罗马字符拼接用StringBuilder
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
int number = c - 48;//数字字符-->数字
String s = changeLuoMa(number);
sb.append(s);
}
System.out.println(sb);
}
//数字-->罗马字符
public static String changeLuoMa(int number) {
String[] arr = {"", "Ⅰ", "Ⅱ", "Ⅲ", "Ⅳ", "Ⅴ", "Ⅵ", "Ⅶ", "Ⅷ", "Ⅸ",};
return arr[number];
}
//判断录入的字符串是否满足条件:
//1.字符串<=9
//2.字符串只能是数字
public static boolean checkStr(String str){
if (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;
}
}
方法2:switch语句
//数字-->罗马字符
public static String changeLuoMa(char c){
String str = switch (c){
case '0'->"";
case '1'->"Ⅰ";
case '2'->"Ⅱ";
case '3'->"Ⅲ";
case '4'->"Ⅳ";
case '5'->"Ⅴ";
case '6'->"Ⅵ";
case '7'->"Ⅶ";
case '8'->"Ⅷ";
case '9'->"Ⅸ";
default->str = "";
};
return str;
}
完整代码:
import java.util.Scanner;
public class Test1Case2 {
public static void main(String[] args) {
//键盘录入字符串
Scanner sc = new Scanner(System.in);
String str;
//条件判断
while (true) {
str = sc.next();
boolean flag = checkStr(str);
if (flag){
break;
}else {
System.out.println("当前字符串不符合规则,请重新输入");
continue;
}
}
StringBuilder sb = new StringBuilder();//罗马字符拼接用StringBuilder
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
String s = changeLuoMa(c);
sb.append(s);
}
System.out.println(sb);
}
//数字-->罗马字符
public static String changeLuoMa(char c){
String str = switch (c){
case '0'->"";
case '1'->"Ⅰ";
case '2'->"Ⅱ";
case '3'->"Ⅲ";
case '4'->"Ⅳ";
case '5'->"Ⅴ";
case '6'->"Ⅵ";
case '7'->"Ⅶ";
case '8'->"Ⅷ";
case '9'->"Ⅸ";
default->str = "";
};
return str;
}
//判断录入的字符串是否满足条件:
//1.字符串<=9
//2.字符串只能是数字
public static boolean checkStr(String str){
if (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;
}
}
标签:case,java,String,--,转换方法,str,字符串,return,public
From: https://blog.csdn.net/2301_76718736/article/details/142367790