Ayazフサイン:
私は、ローカル変数に変更を加えると、それを返しています。私はそれがラインなし9で12を印刷するべきだと思います。
public class HackerEarth {
int a[]= {3,4,5};
int b[]=foo(a);
void display() {
System.out.println(a[0]+a[1]+a[2]+ " "); //line no 9
System.out.println(b[0]+b[1]+b[2]+ " ");
}
public static void main(String[] args) {
HackerEarth he=new HackerEarth();
he.display();
}
private int[] foo(int[] a2) {
int b[]=a2;
b[1]=7;
return b;
}
}
任意の提案をいただければ幸いです。
アンドロニカス:
あなたには、それの値を上書きする最初の配列への参照を使用しているfoo
方法。渡されたものの値に基づいて別のアレイを作成するには、使用することを検討してくださいArrays.copyOf
:
private int[] foo(int[] a2) {
int b[] = Arrays.copyOf(a2, a2.length);
b[1]=7;
return b;
}