将输入的数字字符串中的每一个数字字符转换为对应的中文大写,例如12345转换为壹贰叁肆伍,再将此中文大写和对应的单位进行字符串的拼接并一起输出
输出结果为:零佰零拾壹万贰仟叁佰肆拾伍元
package com.ithm.stringdemo;
import java.util.Scanner;
public class Demo1 {
//获取每一个数字对应的中文大写
public static String getCapitalNumber(int number){
String []capitalnumber={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
return capitalnumber[number];
}
public static void main(String[] args) {
//数组里面放入输入的金额的每一位数字
int []sz=new int[7];
Scanner sc=new Scanner(System.in);
int money;
while (true){
System.out.print("请输入任意金额:");
money=sc.nextInt();
if(money>=0 ||money<=9999999) {
break;
}else {
System.out.println("金额无效,请重新输入");
}
}
String capmoney="";
int i=0;
while (true){
int ge=money%10;
sz[i++]=ge;
money=money/10;
if(money==0) break;
}
//获取大写数字的字符串
String capitalnumber="";
for (int j = 0; j < sz.length; j++) {
capitalnumber=getCapitalNumber(sz[j]);
capmoney=capitalnumber+capmoney;
}
//定义一个字符串数组存放单位
String []arr={"佰","拾","万","仟","佰","拾","元"};
//将大写数字和单位数组进行字符串的拼接
String result="";
for (int k = 0; k < capmoney.length(); k++) {
char c=capmoney.charAt(k);
result=result+c+arr[k];
}
System.out.println(result);
}
}