要求:把输入的数字变大写,数字输入不能大于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; } }