从Java

时间:2016-03-16 23:21:07

标签: java eclipse

我刚刚开始使用Java,我正在玩我在网上复制的代码。我在网上复制了这段代码并尝试在eclipse上运行它

http://introcs.cs.princeton.edu/java/12types/SpringSeason.java.html

public class SpringSeason { 
    public static void main(String[] args) { 
        int month = Integer.parseInt(args[0]);
        int day   = Integer.parseInt(args[1]);
        boolean isSpring =  (month == 3 && day >= 20 && day <= 31)
                         || (month == 4 && day >=  1 && day <= 30)
                         || (month == 5 && day >=  1 && day <= 31)
                         || (month == 6 && day >=  1 && day <= 20);

        System.out.println(isSpring);
    }
}

我在eclipse上不断收到此错误

线程“main”中的异常java.lang.ArrayIndexOutOfBoundsException:0     在trollstartwo.main(trollstartwo.java:4)

1 个答案:

答案 0 :(得分:1)

args [0] 是指String数组 args [] ,它是main方法的参数。

.... void main(String[] args) //this args array here

args [] 数组的值由用户在运行程序时提供。在运行程序时,您可能会在Eclipse中看到 主要方法参数 的选项。您必须在那里提供 args [0] args [1] 的值。如果你不这样做,那么阵列 args [] 甚至不会被初始化,即它仍然是一个0空格的数组。因此,当程序试图访问args []的0和1位置的值时,它甚至找不到那些位置,因此在运行时抛出 ArrayIndexOutOfBounds 异常。

要避免这种情况,请在主方法参数框中提供值。假如你想提供&#39; 4&#39;月份和&#39; 5&#39;当天,在框中输入 {&#34; 4&#34;,&#34; 5&#34;}