硬编码

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;

public class Main{
   private static Map<Long, String> map = new HashMap<>();

    static {
        map.put(1L, "壹");
        map.put(2L, "贰");
        map.put(3L, "叁");
        map.put(4L, "肆");
        map.put(5L, "伍");
        map.put(6L, "陆");
        map.put(7L, "柒");
        map.put(8L, "捌");
        map.put(9L, "玖");
    }

    public static void main(String args[]) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String str;
        StringBuffer stringBuffer = new StringBuffer();
        while ((str = reader.readLine()) != null) {
            stringBuffer.append("人民币");
            String items[] = str.split("\\.");
            Long number = Long.parseLong(items[0]);
            if(number > 0){
                 convert(number, stringBuffer);
                 stringBuffer.append("元");
            }
            if (items.length > 1) {
                long item = Long.parseLong(items[1]);
                if(item >= 10){
                    stringBuffer.append(map.get(item / 10)).append("角");
                    if(item % 10 > 0){
                         stringBuffer.append(map.get(item % 10)).append("分");
                    }
                }else if(item > 0){
                    stringBuffer.append(map.get(item)).append("分");
                }
            } else {
                stringBuffer.append("整");
            }
            System.out.println(stringBuffer.toString());
        }
        reader.close();

    }


    private static void convert(Long item, StringBuffer stringBuffer) {
        String currentString = stringBuffer.toString();
        if (item >= 100000000) {
            convert(item / 100000000, stringBuffer);
            stringBuffer.append("亿");
            convert(item % 100000000, stringBuffer);
        } else if (item >= 10000) {
            convert(item / 10000, stringBuffer);
            stringBuffer.append("万");
            convert(item % 10000, stringBuffer);
        } else if (item >= 1000) {
            stringBuffer.append(map.get(item / 1000)).append("仟");
            convert(item % 1000, stringBuffer);
        } else if (item >= 100) {
            stringBuffer.append(map.get(item / 100)).append("佰");
            convert(item % 100, stringBuffer);
        } else if (item >= 10) {
            if ('仟' == currentString.charAt(currentString.length() - 1)) {
                stringBuffer.append("零").append(item / 10 > 1 ? map.get(item / 10) : "").append("拾");
                convert(item % 10, stringBuffer);
            } else {
                stringBuffer.append((item / 10 > 1 ? map.get(item / 10) : "")).append("拾");
                convert(item % 10, stringBuffer);
            }
        } else {
            if ('佰' == currentString.charAt(currentString.length() - 1)) {
                stringBuffer.append("零").append(map.get(item));
            } else {
                stringBuffer.append(map.get(item));
            }
        }
    }
}