目标:金额转换成大写的金额并加上相对的单位
要求:1.输入金额自动转换成大写的金额,并带上相应的单位。
2.若金额较少时,前面要自动补齐。
3.对输入的金额进行限制,对不符合的进行限制并重新输入。
详细代码如下:
import java.util.Scanner;
public class Practice12 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int money;
while(true){
System.out.println("请输入一个金额");
money = sc.nextInt();
if (money >= 0 && money <= 9999999) {
break;
}else {
System.out.println("金额无效");
}
}
String moneystr = "";
while(true){
int ge = money % 10;
String capitalNumber = getCapitalNumber(ge);
moneystr = capitalNumber + moneystr;
money = money / 10;
if (money == 0) {
break;
}
}
int count = 7 - moneystr.length();
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);
}
public static String getCapitalNumber(int number){
String[] arr = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
return arr[number];
}
}
运行结果:
请输入一个金额
12345678
金额无效
请输入一个金额
123456
零壹贰叁肆伍陆
零佰壹拾贰万叁仟肆佰伍拾陆元