java实现 数字大写转阿拉伯数字
时间: 2023-06-29 15:10:47 浏览: 147
以下是Java实现数字大写转阿拉伯数字的代码:
```java
import java.util.HashMap;
import java.util.Scanner;
public class ChineseNumberToArabic {
private static final HashMap<Character, Integer> numberMap = new HashMap<>();
static {
numberMap.put('零', 0);
numberMap.put('一', 1);
numberMap.put('二', 2);
numberMap.put('三', 3);
numberMap.put('四', 4);
numberMap.put('五', 5);
numberMap.put('六', 6);
numberMap.put('七', 7);
numberMap.put('八', 8);
numberMap.put('九', 9);
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要转换的中文数字:");
String chineseNumber = scanner.next();
int result = 0; // 保存结果
int temp = 0; // 临时变量,保存上一个数字
for (int i = 0; i < chineseNumber.length(); i++) {
int number = numberMap.get(chineseNumber.charAt(i));
if (number == 0 && temp == 0) {
continue; // 如果当前数字和上一个数字都是 0,跳过
}
if (number == 0 && temp != 0) {
temp *= 10; // 如果当前数字是 0,上一个数字乘以 10
} else if (number != 0 && temp == 0) {
temp = number; // 如果上一个数字是 0,直接赋值
} else if (number != 0 && temp != 0) {
if (temp < number) {
temp *= number; // 如果当前数字比上一个数字大,上一个数字乘以当前数字
} else {
result += temp;
temp = number; // 如果当前数字比上一个数字小,将上一个数字加入结果,当前数字赋值给临时变量
}
}
}
result += temp; // 最后将最后一个数字加入结果
System.out.println("转换后的阿拉伯数字为:" + result);
}
}
```
运行程序,输入要转换的中文数字,即可输出对应的阿拉伯数字。
阅读全文