第一个问题,你应该先判断参数个数是否传够了,
if(args.length!=2) return;
do your buisness....

解决方案 »

  1.   

    System.out.println(args[0]);是打印从键盘接受到的第一个字符串System.out.println(args[1]);是打印从键盘接受到的第二个字符串运行的时候如果没有从键盘传入参数的话,当然会报数组越界的提示。在程序前加上if(args.length!=2) return;
    或者从键盘带2个参数进取就可以拉!
    如:java helloWorld 参数1 参数2
      

  2.   

    第一个没有编译成功我怎么输参数阿,就是怎么样才能让我输入,就是编译成功的解决方法。第二个问题用到封装的数据类型的Integer.parseInt()方法,关键是为什么用他,什么时候用他,我不是太懂啊
      

  3.   

    第一个问题:
    public class HelloWorld
    {
    public static void main(String [] args)
    {
    if(args.length != 2)
    return;
    else
    {
    System.out.println(args[0]);
    System.out.println(args[1]);
    }
    }
    }
    第二个问题:由于你运行程序时需要传递2个参数,如java MathTest 100 6,你虽然输入的是2个数字100和6,但是程序中得到的是2个字符串形式的100和6,所以你需要在程序中使用Integer.parseInt()这个方法将它们转换为数字,如
    int n = Integer.parseInt(args[0]);
    int d = Integer.parseInt(args[1]);
    然后就可以在程序中使用这n和d来判断你获得的随机数是否满足你的条件了。
      

  4.   

    接上,附上第二个问题的代码哈~我也是初学者,大家互相帮助:)import java.lang.Math;
    public class MathTest
    {
    public static void main(String [] args)
    {
    if(args.length!=2)
    return;
    int n = Integer.parseInt(args[0]);
    int d = Integer.parseInt(args[1]);
    double a;
    while(true)
    {  
     a = Math.random();  
     a = a*1000000;
     if(a>1&&a<n&&((int)a%d==0))
      {
      System.out.println((int)a);
      return;
      }  
      }
    }
    }