java初学者,,对String args[]的问题有些不解;
package 测试;
public class a { /**
 * @param args
 */
 
public static void main(String args[])
{
System.out.print("打印main方法中的输入参数!");
for(int i=0;i<args.length;i++)
{System.out.print(args[i]);

}
// TODO Auto-generated method stub
}
}
在此例中,可不可以不要输入变量,,而在程序内设置变量啊?例如直接在程序中写出args[0]=xx,但是这样是不行的,,望高手指教;

解决方案 »

  1.   

    main方法是程序入口,如果你不给参数给main传过来的话,那么args[] 是个长度为0的数组。你再在main方法中写args[0] = "test"就会报数组越界异常。
      

  2.   

    public class Test{
     public static void main(String args[]){
    a.main(new String[]{"arg1","arg2"});
    }
      

  3.   

    在命令行 运行Java 命令时后面跟上参数   给数组args赋值  这样在main函数中遍历的时候就没有问题了。当执行到main方法里面  args的length=0  相当于你初始化了一个长度为零的数组 这个时候你给数组赋值是不行的。
      

  4.   

    我可以 在程序中这样 String b =null;
     String  a=b;
    args[0]= a;
    System.out.print(args[0]);
    这样是正确可以运行的,但是却不能给args赋int,,为什么输入参数时可以赋int
      

  5.   


    a.main(new String[]{"arg1","arg2"});
    这也看不懂?
      

  6.   


    大哥,a不是你的 class名字么
      

  7.   

    args[] 相当于 手动传入参数进去.在命令行或者IDE的开发环境中都可以手动传入参数.如果你要设置其他的参数,当然可以在程序中设置.而且java还有一个超强大的反射机制.在以后的学习中慢慢就能体会了...