package stringdemo;
import java.util.Scanner;
public class Z10 {
public static void main(String[] args) {
//键盘录入字符串,转换成罗马数字
//要求1:长度为小于等于9
//要求2:只能是数字,将内容变成罗马数字
//罗马数字里面没有0,如果键盘录入数字包含0,可变成“”
//键盘录入字符串
String str;
while(true) {
System.out.println("请输入一串字符串:");
Scanner sc = new Scanner(System.in);
str = sc.next();
boolean flag = checkStr(str);
if (flag) {
break;
} else {
System.out.println("你输入的字符串不全是数字,请重新输入");
}
}
StringBuilder sb=new StringBuilder();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
//将字符变成int类型
int number = c - 48;
String s = changeLuoMa(number);
sb.append(s+" ");
}
System.out.println("输入的内容变成罗马数字为;");
System.out.println(sb);
}
//方法,满足要求1 2
public static boolean checkStr(String str){
//要求1:长度小于等于9
if(str.length()>9){
return false;
}
//只能是数字
for (int i = 0; i < str.length(); i++) {
if(str.charAt(i)<'0'||str.charAt(i)>'9'){
return false;
}
}
return true;
}
//方法2,将数字转换成罗马数字
public static String changeLuoMa(int number){
//查表法
String[] arr={"","I","II","III","IV","V","VI","VII","VIII","IX"};
return arr[number];
}
/*public static String changeLuoMa(char c){
String str;
switch(c){
case '0'->str="";
case '1'->str="I";
case '2'->str="II";
case '3'->str="III";
case '4'->str="IV";
case '5'->str="V";
case '6'->str="VI";
case '7'->str="VII";
case '8'->str="VIII";
case '9'->str="IX";
default ->str="";
}
return str;
}*/
}
键盘录入字符串,转换成罗马数字要求1:长度为小于等于9要求2:只能是数字,将内容变成罗马数字罗马数字里面没有0,如果键盘录入数字包含0,可变成“”
于 2023-02-21 00:05:33 首次发布