关于金额转化为大写的小程序

来源:互联网 发布:c#集合和数组的区别 编辑:程序博客网 时间:2024/05/21 22:27
package com.lanou.review.money;


import java.util.Scanner;


/**
 * 输入整数价钱 输出大写金额
 */
public class Money {


public static void main(String[] args) {
System.out.println("请输入一个金额:");
Scanner sc = new Scanner(System.in);
int price = sc.nextInt();
// 存放结果
String str = "";
// 单位索引
int u = 0;
// false表示上一位不是0,true表示上一位是0
boolean flag = true;
String[] arr = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
String[] unit = { "", "拾", "佰", "仟", "万" };
// 循环获取price的各个位上的数字
while (price > 0) {
// 个位数字
int n = price % 10;
price = price / 10;
String tmp = "";
// 如果n不是0,就找对应的大写+单位
if (n != 0) {
tmp += arr[n];
tmp += unit[u];
// 将标识转换成false,如果在遇到n=0就转换
flag = false;
} else {
// 如果n=0,上一位数不是0,则追加一个字符‘零’
if (!flag) {
tmp = "" + arr[n];
flag = true;
}
}