人民币数字转大写

44 阅读1分钟
import java.util.Scanner;  
  
public class Invoice {  
  
static Scanner input = new Scanner(System.in);  
  
public static void main(String[] args) {  
System.out.println("请输入一个整型数:");  
String s = input.next();  
while (!s.matches("\\d+")) {  
System.out.println("输入的不是数字,请重新输入");  
s = input.next();  
}  
for (int i = 0; i < s.length(); i++) {  
if (i != 0 && 0 == s.charAt(i) - '0' && 0 != s.charAt(i - 1) - '0') {  
System.out.print(getIndex(s.charAt(i) - '0'));  
continue;  
}  
if (i != 0 && 0 == s.charAt(i) - '0' && 0 == s.charAt(i - 1) - '0') {  
  
} else {  
System.out.print(getIndex(s.charAt(i) - '0') + getAmountUnits(s.length() - i - 1));  
}  
}  
}  
  
public static String getIndex(int index) {  
String[] arr = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};  
return arr[index];  
}  
  
public static String getAmountUnits(int index) {  
String[] AMOUNT_UNITS = {"元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "兆", "拾", "佰", "仟"};  
return AMOUNT_UNITS[index];  
}  
}