键盘录入一个金额,实现大写转换
例如:
键盘输入:321
结果输出:叁佰贰拾壹
package string.practice;
import java.util.Scanner;
/*
* 键盘录入一个金额,实现大写转换
* 例如:
* 键盘输入:321
* 结果输出:叁佰贰拾壹
*/
import java.util.Scanner;
public class MoneyZhuanHuan {
public static void main(String[] args) {
//键盘录入金额
Scanner xc=new Scanner(System.in);
int money;
while(true) {
System.out.println("请输入要转换的金额:");
money=xc.nextInt();
//判断输入的金额是否合理
if(money>=0&&money<=9999999){
break;
}
else {
System.out.println("输入金额错误!");
System.out.println("请重新输入:");
}
}
String moneyChar="";
//得到money里的每一个数字
while(true) {
int ge=money%10;
//把分下来的数字变成大写
String bigChinese=getBigChinese(ge);
//把转换出来的大写存入moneyChar中
moneyChar=bigChinese+moneyChar;
money=money/10;
//若money的值为0时,则循环结束
if(money==0) {
break;
}
}
//在转换后的前面补零,补齐七位
int count;
count=7-moneyChar.length();
for(int i=0;i<count;i++) {
moneyChar="零"+moneyChar;
}
//定义单位
//将单位存入数组
String[] DanWei={"佰","拾","万","仟","佰","拾","元"};
String result="";
for(int i=0;i<moneyChar.length();i++) {
//将单位一次插入大写金额中
//遍历一遍大写金额
char c=moneyChar.charAt(i);
//把大写数字和单位拼接到result中
result=result+c+DanWei[i];
}
System.out.println("转换后的金额为:");
System.out.println(result);
}
//定义一个方法,把输入的数字变成大写的中文
//1---壹
public static String getBigChinese(int number) {
//定义大写的数组,用下标对应
String[] arr={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
return arr[number];
}
}
案例结果: