在命令行我运行java Test 1 2 3 4 5 6 7 8 9 10
然后我输出
for(int i=0;i<10;i++) System.out.print(args[i]+' ');输出的结果却是1 332 343 354 365 376 387 398 409 4110 42应该输出1 2 3 4 5 6 7 8 9 10才对啊 求人看看

解决方案 »

  1.   

    循环顺序、输入方式、输出方式综合导致了这个结果...
    建议你直接输出Arrys.asList(args)看看
      

  2.   


    怎么改正啊 输入方式就是在myeclipse里面设置的
      

  3.   


    public class Test{     
    public static void main(String[] args) {
    for(int i=0;i<10;i++) System.out.print(args[i]+' ');
    }
    }
    D:\Test\bin>java Test 1 2 3 4 5 6 7 8 9 10
    1 2 3 4 5 6 7 8 9 10
    你是不是搞错文件了?
      

  4.   

    run configurations -> arguments -> program arguments里边写参数
      

  5.   

    这样试试.for(int i=0;i<10;i++) System.out.print(args[i]+" ");
      

  6.   

    package Test;
    import java.util.Arrays;public class Test6{
    public static void main(String args[])
    {
    try {
    if(args.length<10)
    throw new Exception("请输入至少10个成绩!");
    int[] a = new int[10];
    System.out.println("输入的10个成绩为:");
    for(int i=0;i<10;i++){
    System.out.print(args[i]+' ');
    a[i]=Integer.parseInt(args[i]); //转换为整数
    System.out.print(a[i]+' ');
    }
    System.out.println();

    System.out.println("排序后降序输出结果为:");
    Arrays.sort(a);
    for(int i=9;i>=0;i--) System.out.print(a[i]+' ');
    System.out.println();
    } catch (NumberFormatException nfe) {
    System.out.println("请输入成绩");
    } catch (Exception e) {
    e.getMessage();
    }

    }
    }
    包名Test 文件名Test6  启动方式是右键 run as ->  arguments -> program arguments
    输入1 2 3 4 5 6 7 8 9 10上面是完整程序 你试试 我纠结啊 试了其他的文件时正常的。。这个就出错 软件设置错了吗?
      

  7.   

    楼主把三个地方的args[i]+' '换成args[i]+", "
    就可以了
    原因自己思考一下,debug就知道了
      

  8.   


    try {
    if(args.length<10)
    throw new Exception("请输入至少10个成绩!");
    int[] a = new int[10]; 
    System.out.println("输入的10个成绩为:");
    for(int i=0;i<10;i++){ 
    //System.out.print(args[i]+", ");
    a[i]=Integer.parseInt(args[i]); //转换为整数 
    System.out.print(a[i]+", ");
    }
    System.out.println();
    System.out.println("排序后降序输出结果为:");
    Arrays.sort(a);
    for(int i=9;i>=0;i--) System.out.print(a[i]+", ");
    System.out.println();         
    } catch (NumberFormatException nfe) {
    System.out.println("请输入成绩");
    } catch (Exception e) { 
    e.getMessage();
    }   

      

  9.   

    用单引号引起来的空格 遇到整形变量进行拼接会自动转换为acsii吗,也就是32,打印log一律用双引号
      

  10.   


    解决了 3Q 原来是把字符当做ASCII来算了 换做两行输出就行了
      

  11.   

    public class Test { /**
     * @param args
     */
    public static void main(String[] args) {
    System.out.println("-->Code: System.out.print( i + ' ')");
    for (int i = 0; i < 10; i++) {
    System.out.print( i + ' ');
    }
    System.out.println("\n");

    System.out.println("-->Code: System.out.print( i + \" \")");
    for (int i = 0; i < 10; i++) {
    System.out.print( i + " ");
    }
    }}
    测试结果如下:-->Code: System.out.print( i + ' ')
    32333435363738394041-->Code: System.out.print( i + " ")
    0 1 2 3 4 5 6 7 8 9