从void方法打印修改过的数组

Use*_*ser 0 java arrays void

我在书中看到了下面的代码.我知道void方法不能返回值.当我运行代码时,编译器无法打印修改后的数组,而在本书中,会显示值.如何修复代码以打印修改后的数组?

public static void main(String[] args) {

    int[] array = {1, 2, 3, 4, 5};
    System.out.println("The values of original array are:");
    for(int value: array)
    {
        System.out.print(value + "\t");
    }
    modifyArray(array);
    System.out.println("The values after modified array are:");
    for (int value:array)
    {
        System.out.print(value + "\t");
    }

}    
public static void modifyArray(int[] b)
{
    for (int counter=0; counter<=b.length; counter++)
    {
        b[counter] *=2; 
    }
}
Run Code Online (Sandbox Code Playgroud)

ani*_*udh 6

如果我没有记错的话,你应该得到的ArrayIndexOutOfBoundsExceptionmodifyArray()的方法.将方法中的for循环更改为

for (int counter=0; counter<b.length; counter++) // use < not <=
    {
        b[counter] *=2; 
    }
Run Code Online (Sandbox Code Playgroud)