我在书中看到了下面的代码.我知道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)
如果我没有记错的话,你应该得到的ArrayIndexOutOfBoundsException你modifyArray()的方法.将方法中的for循环更改为
for (int counter=0; counter<b.length; counter++) // use < not <=
{
b[counter] *=2;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
675 次 |
| 最近记录: |