class Shu
{
    public static void main(String [] args)
    {
         
         char [] str1 = {'零','一','二','三','四','五','六','七','八','九'};
         
         String x=args[0];
         
         char [] s = new char [args[0].length()];
         char [] str3 = new char [args[0].length()];
         for(int i=0;i<args[0].length();)
         {
           s[i]=x.charAt(i);
           switch(s[i]){
           case '0':str3[0]=str1[0];break;
           case '1':str3[1]=str1[1];break;
           case '2':str3[2]=str1[2];break;
           case '3':str3[3]=str1[3];break;
           case '4':str3[4]=str1[4];break;
           case '5':str3[5]=str1[5];break;
           case '6':str3[6]=str1[6];break;
           case '7':str3[7]=str1[7];break;
           case '8':str3[8]=str1[8];break;
           case '9':str3[9]=str1[9];break;
           
          }
          System.out.print(str3[i]);
          i++;
          }
          //String x=args[0];
          //System.out.println(x.charAt(0));
         
    }
}
我想实现:
    把123456转换成一二三四五六.但不知道什么地方错了.希望前辈们指点一下.谢谢了

解决方案 »

  1.   

    用switch(s[i]) 不好用吧。 不如直接用if else 判断如果 s[i]='零' 打印输出0 在else if。
    这样估计行,不过没什么技术含量。还好我水平本来也不高。
      

  2.   

    String x=args[0];
    你运行时从控制台传入参数了么?
      

  3.   

    传入参数了.但是运行报错.ArrayIndexOutOfBoundsException 只有输入一个十位数才可以.而且输出结果不对!
      

  4.   

    程序可以运行的啊,
    可能是你运行时没输入参数吧,
    不然你试着这样调试看看.
    class TestPrint {
    public static String transfer(String atr) {
    String result = "";
    char[] str1 = { '零', '一', '二', '三', '四', '五', '六', '七', '八', '九' }; String x = atr; char[] s = new char[atr.length()];
    char[] str3 = new char[atr.length()];
    for (int i = 0; i < atr.length();) {
    s[i] = x.charAt(i);
    switch (s[i]) {
    case '0':
    str3[0] = str1[0];
    break;
    case '1':
    str3[1] = str1[1];
    break;
    case '2':
    str3[2] = str1[2];
    break;
    case '3':
    str3[3] = str1[3];
    break;
    case '4':
    str3[4] = str1[4];
    break;
    case '5':
    str3[5] = str1[5];
    break;
    case '6':
    str3[6] = str1[6];
    break;
    case '7':
    str3[7] = str1[7];
    break;
    case '8':
    str3[8] = str1[8];
    break;
    case '9':
    str3[9] = str1[9];
    break; }
    System.out.print(str3[i]);
    i++;
    }
    return result; } public static void main(String args[]) {
    System.out.println(transfer("0"));
    }
    }
      

  5.   


    class kk
    {
    public static void main(String [] args)
    {
    if(args.length == 0){
       System.out.print("未输入参数");
    }
    else{
    char [] str1 = {'零','一','二','三','四','五','六','七','八','九'};String x=args[0];char [] s = new char [args[0].length()];
    String str3 = new String("");
    for(int i=0;i<args[0].length();)
    {
    s[i]=x.charAt(i);  
    switch(s[i]){
    case '0':str3=str3+str1[0];break;
    case '1':str3=str3+str1[1];break;
    case '2':str3=str3+str1[2];break;
    case '3':str3=str3+str1[3];break;
    case '4':str3=str3+str1[4];break;
    case '5':str3=str3+str1[5];break;
    case '6':str3=str3+str1[6];break;
    case '7':str3=str3+str1[7];break;
    case '8':str3=str3+str1[8];break;
    case '9':str3=str3+str1[9];break;}i++;
    }
    System.out.print(str3);
    //String x=args[0];
    //System.out.println(x.charAt(0));
    }
    }
    }