输入的参数args[0]和args[1]是字符串类型
Integer.parseInt可以将"1"变成 int的1
当然如果你输入"adf"就会抛出异常来了

解决方案 »

  1.   

    如果输入参数为2个(字符串),则用转换函数(parseInt)分别将它转为年(y)和月(m)。
      

  2.   

    static int parseInt(String s) 
              Parses the string argument as a signed decimal integer. 
    static int parseInt(String s, int radix) 
              Parses the string argument as a signed integer in the radix specified by the second argument. 
      

  3.   

    gdsean(摇滚java)
    还有一点不明白!
    这个例子中没有用键盘输入,它是怎么样获得那两个数字!
      

  4.   

    楼上:public static void main(String[] args)
      

  5.   

    你的程序能编译通过?
    不可能把,至少要try一把吧?
      

  6.   

    有这样一句话:main方法中的String[] args参数代表main方法接受到一个字符串数组,换句话说,就是在命令行上指定的这个参数。
    结合到这个例子中,它接受的这两个参数是谁传递给它的,
    可能还是没搞懂,我就是不知道这两个数是那里来的,我根本就没重键盘上输入数字!
    请楼上的几位指点一下!
      

  7.   

    hello_wyq(半瓶墨水) 
    程序的确能通过!
      

  8.   

    java Calender paramter0 paramter1 ...
    不是你运行程序的时候要打的吗?
      

  9.   

    看看你的代码:
    if (args.length == 2)
    {
    m = Integer.parseInt(args[0]);
    y = Integer.parseInt(args[1]);
    }
    else
    {
    Day today = new Day();
    m = today.getMonth();
    y = today.getYear();
    }
    你没有输入任何东西就以
    else中的初始化。
    因为args.length != 2
      

  10.   

    hello_wyq(半瓶墨水) 
    明白了!
    可能是被误倒了!谢谢大家!
      

  11.   

    hello_wyq(半瓶墨水) 谢谢你!