java中对数组越界有着严格的规定,但是你的程序编译会通过,只不过在执行时会出现下列一行文字
“Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException”
我在写关于约瑟夫环的时候遇到了这个,当然也是本人的粗心大意,因为以往的C++以及C编程中并未严格的控制数组越界,所以即使在C,C++中能执行这样的越界编译的代码,也是十分不严谨的。
这是我原始的代码
然后编译通过后出现了这样的文字
我们接着看其显示问题的39行,我写了一个if的判断语句,但是这并没有问题,那我们再往上找,发现在第34行,是存在越界行为的。
因为总共为TotalNum个人,计数时应该为0到TotalNum-1,而不是TotalNum,然后我们再将语句修改
编译执行
此时便不存在问题了。