要求:把输入的数字变大写,数字输入不能大于8位数
package com.wansha;
public class NumberTest {
public String formateNubmer(String str)throws Exception{
String sum = "";
Integer in = 0;
try{
in = Integer.parseInt(str);
}catch(NumberFormatException e){
throw new Exception("输入的不是数字");
}
String bitStr = "";
boolean flag = false;
for(int i = 0; i<str.length();i++){
int Remainder = in%10;
in/=10;
if(Remainder == 0){
if(!flag)continue;
bitStr =changeUpperCase(Remainder);
flag = false;
}else{
switch(i){
case 0:
bitStr = changeUpperCase(Remainder);
flag = true;
break;
case 1:
bitStr = changeUpperCase(Remainder)+"拾";
flag = true;
break;
case 2:
bitStr = changeUpperCase(Remainder)+"佰";
flag = true;
break;
case 3:
bitStr = changeUpperCase(Remainder)+"千";
flag = true;
break;
case 4:
bitStr = changeUpperCase(Remainder)+"万";
flag = true;
break;
case 5:
bitStr = changeUpperCase(Remainder)+"十万";
flag = true;
break;
case 6:
bitStr = changeUpperCase(Remainder)+"百万";
flag = true;
break;
case 7:
bitStr = changeUpperCase(Remainder)+"千万";
flag = true;
break;
case 8:
bitStr = changeUpperCase(Remainder)+"亿";
flag = true;
break;
}
}
sum = bitStr +sum;
}
sum = sum.endsWith("零")?sum.substring(0,sum.indexOf("零")):sum;
sum = sum.startsWith("零")?sum.substring(sum.indexOf("零")+1):sum;
return sum;
}
public static void main(String[] args)throws Exception {
args[0]="00000100";
int k = Integer.parseInt(args[0]);
if(null != args[0]){
if(8<args[0].length())throw new Exception("输入的字符不能超过8位");
NumberTest number = new NumberTest();
String sum ;
sum = number.formateNubmer(args[0]);
System.out.println(sum);
}
}
public String changeUpperCase(int i){
String str = null;
switch(i){
case 0:
str="零";
break;
case 1:
str="壹";
break;
case 2:
str="贰";
break;
case 3:
str="叁";
break;
case 4:
str="肆";
break;
case 5:
str="伍";
break;
case 6:
str="陆";
break;
case 7:
str="柒";
break;
case 8:
str="捌";
break;
case 9:
str="玖";
break;
}
return str;
}
}