- Registriert
- Juli 2008
- Beiträge
- 4.629
Code:
public class PassingParams {
public static int x0 = 23;
public static int compute(int x0, int x1, int x2) {
x1 = 2 * x0;
x0 += x2 + x1;
x2 = x0 + x2;
return x0++;
}
public static void compute(int x[]) {
x0 += x[2] * x[1];
x[1] = 2 * x[0];
x[2] = x0 + x[2];
}
public static void compute(int x[], int x0, int x1) {
for (x0 = 0; x0 < x1; x0++) {
x[0] += x0;
}
}
public static void main(String[] args) {
int[] y = new int[3];
y[0] = 4;
y[1] = 7;
y[2] = 2;
System.out.println("y[1] = compute(y[0], y[1], y[2]); ");
y[1] = compute(y[0], y[1], y[2]);
for (int i = 0; i < y.length; ++i) {
System.out.println(y[i]);
} System.out.println("");
System.out.println("compute(y);");
compute(y);
for (int i = 0; i < y.length; ++i) {
System.out.println(y[i]);
}System.out.println("");
System.out.println("compute(y, y[0], y[1]);");
compute(y, y[0], y[1]);
for (int i = 0; i < y.length; ++i) {
System.out.println(y[i]);
}
}
}
Hi,
ich habe hier ein kleines Verständnisproblem, und zwar:
Wenn ich in der main-Methode aufrufe:
y[1] = compute(y[0], y[1], y[2]);
Wieso dann nicht das statische x0 zur Berechnung rangezogen? Ist die Paramterübergabe eines ganzen Arrays dann Call-by-Reference?
Zuletzt bearbeitet: