Programmieren - alles kontrollieren 4.939 Themen, 20.671 Beiträge

Java-Frage Array, Übergabe in "Funktionen"

PingOfDeath / 5 Antworten / Flachansicht Nickles

Folgendes Problem:

Mein Programm sieht so aus (sehr grob ^^):

x(INT_Array);
y(INT_Array);

static void x(int [] INT_Array)
static void y(int [] INT_Array)

Ich übergebe also ein Array mit 4 Werten an Funktionen welche mir etwas ausrechnen - sie geben nur etwas aus nichts zurück (void).
Wenn ich jetzt vor und nach dem Aufruf von "x" mir "INT_Array[0]" ausgeben lasse kommt jedesmal etwas anderes raus --> somit arbeitet "y" mit falschen Werten!

Was mache ich da falsch) Warum ändern sich die Werte im Array welches ich immer übergeben möchte?

Gruß, PingOfDeath

bei Antwort benachrichtigen
mr.escape PingOfDeath „Java-Frage Array, Übergabe in "Funktionen"“
Optionen
Wenn ich jetzt vor und nach dem Aufruf von "x" mir "INT_Array[0]" ausgeben lasse kommt jedesmal etwas anderes raus
Anscheinend änderst du unbeabsichtigt den wert von "INT_Array[0]" in der methode "x()".
"INT_Array" ist zwar nur eine kopie des übergebenen arrays, aber eben nur die kopie des array-objekts, d.h. der referenz, sodass diese auf die selben inhalte verweisen.

mr.escape
"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen