编写一段java程序,实现从控制台中读取一个数字,然后打印出这个数字四舍五入后对应的人民币大写汉字字符。例如: 输入:3000 输出:叁仟 输入:300.569 输出:三佰元五角七分
时间: 2023-02-06 11:52:17 浏览: 69
这是一个实现的示例代码:
```
import java.util.Scanner;
import java.text.DecimalFormat;
public class Main {
public static void main(String[] args) {
// 使用 Scanner 类从控制台读取一个数字
Scanner scan = new Scanner(System.in);
System.out.print("请输入一个数字:");
double num = scan.nextDouble();
// 使用 DecimalFormat 类将数字格式化为四舍五入后的结果
DecimalFormat df = new DecimalFormat("#.00");
String numStr = df.format(num);
// 将数字转换为人民币大写汉字字符
String[] numArr = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
String[] unitArr = {"元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿"};
StringBuilder sb = new StringBuilder();
for (int i = 0; i < numStr.length(); i++) {
char c = numStr.charAt(i);
if (c == '.') {
sb.append("元");
continue;
}
int n = c - '0';
sb.append(numArr[n]).append(unitArr[numStr.length() - 1 - i]);
}
// 打印结果
System.out.println("输出:" + sb.toString());
}
}
```
说明:
- 使用 `Scanner` 类从控制台读取一个数字。
- 使用 `DecimalFormat` 类将数字格式化为四舍五入后的结果。
- 使用两个数组分别存储数字和单位的人民币大写汉字字符。
- 使用一个字符串构建器(`StringBuilder`)拼接数字和单位。
- 打印结果。