IndexOutOfBounds错误,刽子手游戏

时间:2016-03-27 06:27:08

标签: java

我正在制作一个快速的刽子手游戏,遇到了array[index]+=c; 并且想知道为什么。我没有看到问题/这个错误会如何发生。

它出现在这一行:

import java.io.IOException;
import java.util.Scanner;

public class Driver {

    public static void main(String[]args) throws IOException {

        Scanner console = new Scanner (System.in);
        String[] phrase={"television"};
        String[] array= new String[phrase.length];
        int body =6;
        while(array!=phrase) {
            char c=(char)System.in.read();
            int index= console.nextInt();
            array[index]+=c;
            if(array[index].charAt(index)==phrase[index].charAt(index)){
                System.out.println("the new array");
            }
        }
    }
}

感谢任何反馈。

{{1}}

1 个答案:

答案 0 :(得分:2)

代码存在许多问题。其中很少人在下面。

  • 当你为“console.nextInt();”输入2时,你正在创建大小为“phrase.length”的数组,其大小为1。它会使索引超出范围。
  • 数组等式检查错误,您需要执行类似

    的操作

    if(Arrays.equals(array1,array2))