Witam
Mam pytanie odnośnie poniższego kodu:
public class Przekazywanie2
{
public static void podwojenie(int[] x)
{
for(int i=0; i<x.length;i++)
{
x[i]=x[i]*2;
}
}
public static void podwojenie2(int[] y)
{
for(int e: y)
{
System.out.println("Wartosc przed, ale w procedurze "+e);
e=e*2;
System.out.println("Wartosc po, ale w procedurze "+e);
}
}
public static void main(String[] args)
{
int[] x={10};
System.out.println("Wartosc przed "+x[0]);
podwojenie(x);
System.out.println("Wartosc po w main "+x[0]);
System.out.print("\n\n");
int[] y={10};
System.out.println("Wartosc przed "+y[0]);
podwojenie2(y);
System.out.println("Wartosc po w main "+y[0]);
}
}
Wynik działania tego prog:
Wartosc przed 10
Wartosc po w main 20Wartosc przed 10
Wartosc przed, ale w procedurze 10
Wartosc po, ale w procedurze 20
Wartosc po w main 10
Dlaczego pętla for each nic nie zmienia, a zwykły for już tak?