该代码的大体功能算是实现了的,但是对连续0的处理不是很好,有待并且急需改进。 public class NumToString { public NumToString() { // TODO Auto-generated constructor stub } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(NumToString.toString(1)); System.out.println(NumToString.toString(10)); System.out.println(NumToString.toString(115)); System.out.println(NumToString.toString(1157)); System.out.println(NumToString.toString(12845)); } public static String toString(int i ) { //String str = null; StringBuffer sb = new StringBuffer(""); String[] unit = {"万", "千", "百", "十"}; int unitLength = unit.length; int unitCousor = 1; String iString = Integer.toString(i); int l = iString.length(); System.out.println(iString); for(i=l-1; i>=0; i--) { //System.out.println(iString.charAt(i)); //System.out.println(NumToString.numToString(iString.charAt(i))); sb.insert(0, NumToString.numToString(iString.charAt(i))); if(i!=0){ sb.insert(0, unit[unitLength-unitCousor]); unitCousor++; } } return sb.toString(); } public static String numToString(char c) { String str = null; switch (c) { case '0': str = "零"; break; case '1': str = "一"; break; case '2': str = "二"; break; case '3': str = "三"; break; case '4': str = "四"; break; case '5': str = "五"; break; case '6': str = "六"; break; case '7': str = "七"; break; case '8': str = "八"; break; case '9': str = "九"; break; default: str = "异常输入"; break; } return str; } }