publicclassDemo2Test{publicstaticvoidmain(String[] args){//创建Scanner对象Scanner sc=newScanner(System.in);//定义一个数来接收键盘输入的值int num;//用循环来校验输入数值是否合理while(true){System.out.println("请输入一个金额:");//从键盘接手数字
num=sc.nextInt();//判断是否符合if(num >=0&& num <=9999999){break;}else{System.out.println("输入有误!");}}//将每一位数字取出String moneyStr="";while(true){//从右往左取int ge = num %10;//取出来的数传给转换成汉字的方法String bigNum =getBigNum(ge);//将返回回来的数拼接成字符串
moneyStr=bigNum+moneyStr;
num = num /10;//如果数值全部取出,则跳出循环if(num==0){break;}}//计算补零的有多少位int count=7-moneyStr.length();//循环,不满足7位的全部补零,用字符串拼接for(int i =0; i < count; i++){
moneyStr="零"+moneyStr;}System.out.println(moneyStr);//将单位放到数组当中去String[] arr={"佰","拾","万","仟","佰","拾","元"};//定义一个空字符串String result="";//遍历转成汉字的字符串数组,然后进行拼接输出for(int i =0; i < moneyStr.length(); i++){char c=moneyStr.charAt(i);
result=result+c+arr[i];}System.out.println(result);}//转换成汉字的方法//将传递过来的数转换成数组的索引,返回索引所在的汉字publicstaticStringgetBigNum(int num){String[] arr={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};return arr[num];}}