/*
金额转换
输入数字金额,将其转换成中文大写带单位的金额
例如2135转换成零佰零拾零万贰仟壹佰叁拾伍元
输入的金额不会超过9999999
*/
package string_pra;
/*
金额转换
输入数字金额,将其转换成中文大写带单位的金额
例如2135转换成零佰零拾零万贰仟壹佰叁拾伍元
输入的金额不会超过9999999
*/
import java.util.Scanner;
public class Str_3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入需要转换的金额");
int money = sc.nextInt();
if (money < 0 || money > 9999999) {
System.out.println("输入无效");
return;//如果输入超出范围,可以利用return直接退出运行
}
//创建数组,存储每一位数字,并利用动态创建数组初始化全为0的特点,做到对数字的补0
int[] arr = new int[7];
//将每一位数字存入数组,同时做到高位补0
int i = arr.length - 1;
while (money != 0) {
arr[i] = money % 10;
money /= 10;
i--;
}
/*
将数字对应的大写中文存入数组
同时可以将数字作为索引直接做到一一对应
例如数组中第四个数字是arr[3]=2,2作为索引,可以得到str[2]="贰"
*/
String[] str = new String[]{"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
//将单位也存入一个数组
String[] str1 = {"佰","拾","万","仟","佰","拾","元"};
for (int i1 = 0; i1 < arr.length; i1++) {
//进行拼接输出 大写中文数字+单位
System.out.print(str[arr[i1]]+str1[i1]);
}
System.out.println();
}
}