import java.io.*;
public class Number
{
      public static void main(String args[]) 
      throws IOException
{
       int num;
   
   char[] chinese = {'零','一','二','三','四','五','六','七','八','九'};
   
   String str;
   
    BufferedReader  buf=new BufferedReader(new InputStreamReader(System.in));      System.out.print("Input an integer:");
      
       str=buf.readLine(); 
       
      num=Integer.parseInt(str);
    
      StringBuffer sb = new StringBuffer();
      
    while(num != 0) 
    {
    int index = num % 10;
    
    sb.insert(0, chinese[index]);
    
    num /= 10;
    }
    
    System.out.println(sb.toString());
}
}

解决方案 »

  1.   

    怎么把我昨天回复你的代码,又贴到这里来了char[] chinese = {'零','一','二','三','四','五','六','七','八','九'};
    String str;/*
    BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
    System.out.print("Input an integer:");
    str=buf.readLine();
    num=Integer.parseInt(str);
    */
    把上面改成:
    Scanner sc = new Scanner(System.in); // java.util.Scanner
    int num = sc.netInt();
    要稍徽好一些。StringBuffer sb = new StringBuffer();
    while(num != 0) {
      // 取得当前数字的最后一位数字,如果原来是 123,执行后 index 则为 3。
      int index = num % 10;
      // 将所对应的汉字插入到字符序列的最前面,0 表示插入到的位置
      // 如前 index = 3,则 chinese[index] = chinese[3] = '三';
      sb.insert(0, chinese[index]);
      // 将当前数字的个位去掉,如果原来是 123,执行后就变成了 12。
      // 再次循环,直到 num 为 0。
      num /= 10;
    }懂了吗 o(∩_∩)o