选举计划中的ArrayIndexOutOfBoundsException

时间:2016-04-13 15:30:15

标签: java

我有一小段代码,每当我运行它时都会抛出异常,我无法理解原因:

public class Debug 
{
    public static void main (String[] args)
    {
        String[] electionName = {"John Smith", "Mary Miller", "Michael Duffy", "Tim Robison", "Joe Ashtony"};
        int[] electionVotes = {5000, 4000, 6000, 2500, 1800};
        int i = 0;
        for (i = 0; i < electionVotes.length; i++);
        {
           System.out.println(electionName[i] + electionVotes[i]);
        }
    }
}

有人可以帮助我吗?

3 个答案:

答案 0 :(得分:4)

你的for循环有一个小错误。它以a;

结束

for(i = 0; i&lt; electionVotes.length; i ++);

所以for循环实际上什么都不做,只是将i递增到5,然后你访问2个数组中索引5处的元素,这会抛出你看到的异常。

答案 1 :(得分:1)

查看for声明的结尾。问题来自角色;

for (i = 0; i < electionVotes.length; i++); // <-

这相当于:

for (i = 0; i < electionVotes.length; i++) {}

//Now, i = 5
{
  System.out.println(electionName[i] + electionVotes[i]);
}

答案 2 :(得分:0)

失去了;在'for'循环结束时!