将一个键盘输入的数字转化成中文输出
/*
1 5 9 13 个
2 6 10 14 拾
3 7 11 15 百
4 8 12 16 千
*/
public class StringDemo_Convert {
public static String intConvert(String x) {
String newS = "";
char[] c = x.toCharArray();
// 替换数字
for (int i = 0; i < c.length; i++) {
char number = c[i];
switch (number) {
case 0:
c[i] = 零;
break;
case 1:
c[i] = 一;
break;
case 2:
c[i] = 二;
break;
case 3:
c[i] = 三;
break;
case 4:
c[i] = 四;
break;
case 5:
c[i] = 五;
break;
case 6:
c[i] = 六;
break;
case 7:
c[i] = 七;
break;
case 8:
c[i] = 八;
break;
case 9:
c[i] = 九;
break;
default:
break;
}
}
// 增加个十百千万,s用来记录字符的位置
for (int i = c.length, s = 0; i > 0; i--, s++) {
if(c[s]==零){
System.out.println("不能以零开头");
break;
}
int num = 0;
if(i==9){
newS += c[s] + "亿";
continue;
}
if (i > 5) {
if(i%4==0){
//千
num=4;
}else{
num = i % 4;
}
} else {
num = i % 6;
}
switch (num) {
case 1:
newS += c[s] + "";
break;
case 2:
newS += c[s] + "拾";
break;
case 3:
newS += c[s] + "百";
break;
case 4:
newS += c[s] + "千";
break;
case 5:
newS += c[s] + "万";
break;
}
}
return newS;
}
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String x = s.nextLine();
String newS = intConvert(x);
System.out.println(newS);
}
}
