//将命令行输入得纯数字转换为中文大写 
   { 
   public static StringBuffer buffer = new StringBuffer();//存储数字转换为中文大写的变长字符串 
  public static int k = -1;//非零数字开始的位置 
  public static void main(String[] args) 
 {
   if(args.length > 1) 
   { 
   System.out.println("用户输入的字符不都为数字,无法转换"); 
   System.exit(0); 
   } 
   char[] array = new char[args[0].length()]; 
   args[0].getChars(0,args[0].length(), array, 0); 
   for(char arr : array) 
   {
   if(arr < '0' || arr > '9') 
   { 
   System.out.println("用户输入的字符不都为数字,无法转换"); 
   System.exit(0); 
   } 
   } 
   //ArrayList<String> list = new ArrayList<String>(); 
   for(int i = 0; i < array.length; i++) 
   { 
   if('0' == array[i]) 
 { 
  continue; 
   } 
   k = i; 
   break; 
   } 
   if(k == -1) 
   { 
   System.out.println("零"); 
  System.exit(0); 
   } 
   CapitalToChinese chin = new CapitalToChinese(); 
   int n = array.length - k;//数字所在的数位 
   chin.change(array[k],'0', n,true); 
   for(; k < array.length - 1; k++) 
   { 
   n = array.length - k - 1; 
   chin.change(array[k + 1],array[k], n,false); 
   } 
   System.out.println(buffer); 
   } 
   private void change(char ch,char last, int n,boolean m) 
   { 
   if(true == m) 
   { 
   switch(n) 
   { 
   case 1:buffer.append(finger(ch));return; 
   case 2:buffer.append(finger(ch) + "十");return; 
   case 3:buffer.append(finger(ch) + "百");return; 
   case 4:buffer.append(finger(ch) + "千");return; 
   case 5:buffer.append(finger(ch) + "万");return; 
   case 6:buffer.append(finger(ch) + "十");return; 
   case 7:buffer.append(finger(ch) + "百");return; 
   case 8:buffer.append(finger(ch) + "千");return; 
   } 
   return; 
   } 
   if('0' == last) 
   { 
   if('0' == ch) 
   { 
   return; 
   } 
   switch(n) 
   { 
   case 1:buffer.append("零" + finger(ch));return; 
   case 2:buffer.append("零" + finger(ch) + "十");return; 
   case 3:buffer.append("零" + finger(ch) + "百");return; 
   case 4:buffer.append("零" + finger(ch) + "千");return; 
   case 5:buffer.append("零" + finger(ch) + "万");return; 
   case 6:buffer.append("零" + finger(ch) + "十");return; 
   case 7:buffer.append("零" + finger(ch) + "百");return; 
   case 8:buffer.append("零" + finger(ch) + "千");return; 
  } 
  } 
   if('0' != last) 
   { 
   if('0' == ch) 
   { 
   return; 
   } 
   switch(n) 
   { 
   case 1:buffer.append(finger(ch));return; 
   case 2:buffer.append(finger(ch) + "十");return; 
   case 3:buffer.append(finger(ch) + "百");return; 
   case 4:buffer.append(finger(ch) + "千");return; 
   case 5:buffer.append(finger(ch) + "万");return; 
   case 6:buffer.append(finger(ch) + "十");return; 
   case 7:buffer.append(finger(ch) + "百");return; 
   case 8:buffer.append(finger(ch) + "千");return; 
   } 
   } 
   return; 
    } 
   private static String finger(char ch) 
   { 
   switch(ch) 
   { 
   } 
  return null; 
   } 
   }