-4
这不是一个家庭作业问题。这是我的做法之一。请帮助我了解我做错了什么。原来是static void changeArray,但是我将它改为static int changeArray并在最后插入了一个return语句,但它仍然不会更新主代码。我的退货声明和静态方法有什么问题
公共类的测试{
/*
* Change the method to also update the key at the main
*/
static int changeArray(int key, int array[]){
key = key + 7;
for (int i = 0; i < array.length; i++){
array[i] = array[i] + key;
}
System.out.println("*At changeArray *");
System.out.println("The key is: "+ key);
return key;
}
static void printArray(int array[]){
System.out.print("[ ");
for (int element:array){
System.out.print(element + " ");
}
System.out.println("]");
}
public static void main(String[] args){
int key = 5;
int[] array = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19};
System.out.println("*At the main *");
System.out.println("The key is: "+ key);
printArray(array);
changeArray(key, array);
System.out.println("*At the main *");
System.out.println("The key is: "+ key); <--- (this is supposed to be 12 after the method is called, but it keeps printing out 5)
printArray(array);
}
}
您没有将'changeArrray()'的返回值赋值给任何东西。它应该被分配到你的主要方法中的'key'。 –