package com.zhao.stringtest;
import java.util.Scanner;
public class Test3 {
//金额转换
//查表法
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请录入金额:");
int money;
while (true){
money=sc.nextInt();
if (money>=0){
break;
}else {
System.out.println("输入不合法!");
}
}
//转换数字
//得到每一位的数字并循环使用转换方法
String str="";//创建一个字符串对象用于拼接获得的每一个大写中文数字
while (true){
int ge=money%10;//得到个位
money=money/10;//得到去掉个位后的新数,并重复循环得到每一次新的个位数
str=getCaptialNumber(ge)+str;
if (money==0){
break;//获得完最大一位数之后,跳出循环
}
}
System.out.println(str);
//限定长度为7位数,计算出空的位数有几个,空的位数向前补零
int count=7-str.length();
for (int i = 0; i < count; i++) {
str='零'+str;
}
System.out.println(str);
//插入单位,单位正好也是七位,所以可以循环插入
//创建一个单位数组
char[] unitArr={'佰','拾','万','仟','佰','拾','元'};
//创建一个结果字符串用于记录
String result="";
for (int i = 0; i < str.length(); i++) {
//获取字符串中单个字符charAt()方法
char c=str.charAt(i);
result=result+c+unitArr[i];
}
//打印结果
System.out.println(result);
}
//写一个方法,创建一个数组,用于根据0-9的数字当作索引
//返回数字对应每一个大写中文数字
//chars[0]-->零
public static char getCaptialNumber(int index){
char[] chars={'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
return chars[index];
}
}