1.键盘录入一个大于-1小于1000的正整数num,将该整数转换成汉字在控制台输出,转换的要求如下:
如num小于10,直接将num转成对应的汉字,例:输入5,转成 五
如num大于9小于100,将数字转成对应的汉字并在十位数后面带单位”十”, 例:输入15, 输出 一十五
如num大于99小于1000,将数字转成对应的汉字,并在十位数后面带单位”十”,百位数后面带单位”百”,例:输入115, 输出 一百一十五
2.除非输入数字不在规定的范围,否则可以一直进行输入转换
[Java] 纯文本查看 复制代码 package test;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(true){
System.out.println("请输入您要转换的数字");
String str = sc.next();
String redex = "\\d*";
if(str.matches(redex)){
char[] charArray = str.toCharArray();
if(charArray.length==1){
ge(charArray[0]);
System.out.println();
}
else if(charArray.length==2){
shi(charArray[0]);
ge(charArray[1]);
System.out.println();
}
else if(charArray.length==3){
bai(charArray[0]);
shi(charArray[1]);
ge(charArray[2]);
System.out.println();
}
else{
System.out.println("您輸入的整數大於999,請重新輸入!");
}
}
else{
System.out.println("您輸入的不是0-999的整數,請重新輸入!");
}
}
}
public static void ge(char c){
switch(c){
case '1':
System.out.print("一");break;
case '2':
System.out.print("二");break;
case '3':
System.out.print("三");break;
case '4':
System.out.print("四");break;
case '5':
System.out.print("五");break;
case '6':
System.out.print("六");break;
case '7':
System.out.print("七");break;
case '8':
System.out.print("八");break;
case '9':
System.out.print("九");break;
case '0':
System.out.print("零");break;
}
}
public static void shi(char c){
if(c!='0'){
ge(c);
System.out.print("十");
}
}
public static void bai(char c){
if(c!='0'){
ge(c);
System.out.print("百");
}
}
} |