天天看点

关于Java中数组越界问题

  java中对数组越界有着严格的规定,但是你的程序编译会通过,只不过在执行时会出现下列一行文字

“Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException”

我在写关于约瑟夫环的时候遇到了这个,当然也是本人的粗心大意,因为以往的C++以及C编程中并未严格的控制数组越界,所以即使在C,C++中能执行这样的越界编译的代码,也是十分不严谨的。

关于Java中数组越界问题

这是我原始的代码

然后编译通过后出现了这样的文字

关于Java中数组越界问题

我们接着看其显示问题的39行,我写了一个if的判断语句,但是这并没有问题,那我们再往上找,发现在第34行,是存在越界行为的。

因为总共为TotalNum个人,计数时应该为0到TotalNum-1,而不是TotalNum,然后我们再将语句修改

关于Java中数组越界问题

编译执行

关于Java中数组越界问题

此时便不存在问题了。