Salve,
vorrei che qualcuno mi spiegasse come mai stampa questi risultati:
Valore a1: 1codice:class A { private int x; public A(int val) { x = val; } public void set(int val) { x = val; } public int get() { return x; } } class PassaggioParametri { public static void metodoUno(A p1, A p2) { p1.set(3); p2.set(5); A temp; temp = p1; p1 = p2; p2 = temp; } public static void metodoDue(int p1, int p2) { p1 = 3; p2 = 5; int temp; temp = p1; p1 = p2; p2 = temp; } public static void main(String[] args) { A a1 = new A(1); A a2 = new A(2); int i1 = 1; int i2 = 2; System.out.println("Valore a1: " + a1.get()); System.out.println("Valore a2: " + a2.get()); System.out.println("Valore i1: " + i1); System.out.println("Valore i2: " + i2); metodoUno(a1, a2); metodoDue(i1, i2); System.out.println("Valore a1: " + a1.get()); System.out.println("Valore a2: " + a2.get()); System.out.println("Valore i1: " + i1); System.out.println("Valore i2: " + i2); } }
Valore a2: 2
Valore i1: 1
Valore i2: 2
da qui in poi non capisco perchè questi risultati.
Valore a1: 3
Valore a2: 5
Valore i1: 1
Valore i2: 2
Grazie

Rispondi quotando