Merkwürdiges Verhalten bei der Datenzuweisung

Hallo,

mein Programm zeigt ein ungewöhnliches Verhalten auf, den Fehler konnte ich durch das Debugging identifizieren.
Das eindimensionale int Array multi_zahl soll in der Methode add geändert werden:

multi_zahl = add(multi_zahl, multi_zahl);

Dann importiere ich das Array in 2 neue:

public static int[] add(int add_zahl[], int add_zahl2[]){

Dann will ich den Wert vom einen zum anderen addieren (die grüne Zeile ist der Code, darunter der derzeitige Wert mit dem Index i):

upload_2016-9-22_10-15-20.png

Ich führe die Zeile aus und sehe, dass sich nun beide geändert haben:
upload_2016-9-22_10-19-5.png

Warum ändert sich denn auch der Wert von add_zahl2 ?
 
Java:
import java.util.Arrays;

public class Problem20 {

  public static void main(String[] args) {

    int[] zahl = new int[1000];
    zahl[997] = 1;
    int fact_sum = 0;

    for (int i = 99; i>1; i--){

      zahl = multiply(zahl, i);

    }

    System.out.println(Arrays.toString(zahl));

    for (int i = 0; i < 1000; i++){

      fact_sum += zahl[I];

    }

    System.out.println(fact_sum);

  }

  public static int[] multiply(int multi_zahl[], int multi){

    for (int i = 0; i < multi; i++){

      multi_zahl = add(multi_zahl, multi_zahl);

    }

    return multi_zahl;

  }

  public static int[] add(int add_zahl[], int add_zahl2[]){

    for (int i = 999; i >= 0; i--){

      add_zahl[I] += add_zahl2[I];

       while (add_zahl[I] > 9){

         add_zahl[I] -= 10;
         add_zahl[i-1] += 1;

        }

      }

      return add_zahl;

  }

}

Ich möchte hier eine Addition in einem dez. Zahlensystem implementieren.
Dies soll der Lösung vom Problem20 im Project Euler dienen( Quersumme von 100!)
 
Zuletzt bearbeitet:

Thallius

Top Contributor
Naja das ist doch logisch. Du hast nur ein Array multi_zahl und übergibst das an add() in beiden Parametern. Dadurch hast du aber immer noch keine 2 Arrays sondern add_zahl[] und add_zahl2[] zeigen auf das gleiche Array mit den gleichen Zahlen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Thallius Merkwürdiges Verhalten von Swingworker.cancel() Allgemeine Java-Themen 2
T Merkwürdiges Thread-Verhalten Allgemeine Java-Themen 6
Thallius Swing Merkwürdiges Verhalten beim Panel Tausch Allgemeine Java-Themen 3
Thallius Merkwürdiges StringBuilder verhalten (Char Encoding) Allgemeine Java-Themen 6
P Applet-Zugriffsrechte: merkwürdiges Verhalten Allgemeine Java-Themen 4
R Merkwürdiges Verhalten der equals Method Allgemeine Java-Themen 4
M merkwürdiges Verhalten von JUnit4 Allgemeine Java-Themen 2
A Streams: merkwürdiges Verhalten Allgemeine Java-Themen 7
A Streams - merkwürdiges Verhalten Allgemeine Java-Themen 2
V Merkwürdiges For-Loop Problem Allgemeine Java-Themen 7
javamax2000 Sehr sonderbares Verhalten Allgemeine Java-Themen 6
kodela Unterschiedliches Verhalten von BufferedReader Allgemeine Java-Themen 3
J Unvorhersehbares Verhalten - benutze ich die falsche Bedingungsprüfung oder brauche ich Threads? Allgemeine Java-Themen 12
N Best Practice Allgemeines Verhalten für ein Interface implementieren? Allgemeine Java-Themen 7
F JTable Pfeiltasten-Verhalten Allgemeine Java-Themen 1
W LocalDateTime Verhalten unerklärlich Allgemeine Java-Themen 1
C Unterschiedliches Verhalten Editor und deployte Application Allgemeine Java-Themen 3
S Threads ThreadPoolExecutor eigenartiges verhalten Allgemeine Java-Themen 5
A Java Verhalten bei parallelem Aufruf derselben Methode?? Allgemeine Java-Themen 2
M Threads Viele Aufrufe aus Thread, komisches Verhalten Allgemeine Java-Themen 8
S getChildAt() Verhalten Allgemeine Java-Themen 4
S Frage zu Threads (Sichtbarkeit und Verhalten) Allgemeine Java-Themen 11
1 Collections Generics, internes Verhalten Allgemeine Java-Themen 16
S Collections Unverständliches Verhalten... Allgemeine Java-Themen 4
M Nach Programmdurchlauf werden Zeichen falsch dargestellt + Anderes Verhalten unter Windows Allgemeine Java-Themen 6
C Komisches Verhalten zwischen Set und List bei contains Allgemeine Java-Themen 6
S (Doppel)Klick-Verhalten vom Desktop unter Java imitieren. Allgemeine Java-Themen 5
A Seltsames Verhalten von JUnit-Tests im Zusammenspiel mit Ant Allgemeine Java-Themen 6
S Verhalten von System.getenv() in Ubuntu / Linux Allgemeine Java-Themen 12
hdi Verhalten bei nicht behandelten Exceptions Allgemeine Java-Themen 2
J Rätselhaftes Verhalten von Collections Allgemeine Java-Themen 5
M Unerklärliches Verhalten bei Variableninitialisierung Allgemeine Java-Themen 11
S Verhalten der Klasse TreeSet... Allgemeine Java-Themen 4
S Jar und Exe verhalten sich unterschiedlich unter Vista Allgemeine Java-Themen 8
M Seltsames Verhalten eines StringReaders Allgemeine Java-Themen 2
spacegaier HeapSpace der VM ändern -> Verhalten von JARs und EXEs Allgemeine Java-Themen 10
M JList seltsames verhalten. Allgemeine Java-Themen 5
K Seltsames Verhalten von byte[] und Strings Allgemeine Java-Themen 6
S Seltsames Verhalten von split() Allgemeine Java-Themen 3
K Überschreiben von 'static'-Methoden hat anderes Verhalten? Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben