Klausuraufgabe Methode ändert Array - warum?

03/14/2021 15:06 BW_F125#1
Hallo, Klausuraufgabe war es die Ausgabe zu nennen.
Ich habe folgendes geschrieben:
1
7
5
6
2
3

Musterlösung sagt allerdings statt der 6 eine 1.

Hier der Code( gekürzt )
PHP Code:
public static void main(String[] args) {
        
int i 1;
        
int j 2;
        
int[] = {4,5,6,7};
        
methode2(jix);
        
System.out.println(x[i]);
        
System.out.println(x[j]);
    }
    public static 
void methode2 (int iint jint[] y){
        
y[i] = j;
    } 
Warum ändert die methode2 den Wert von x[2] zu einer 1?

Danke im Vorraus, schönen Sonntag.
03/15/2021 07:34 Mad0ck#2
Quote:
Originally Posted by BW_F125 View Post
Hallo, Klausuraufgabe war es die Ausgabe zu nennen.
Ich habe folgendes geschrieben:
1
7
5
6
2
3

Musterlösung sagt allerdings statt der 6 eine 1.

Hier der Code( gekürzt )
PHP Code:
public static void main(String[] args) {
        
int i 1;
        
int j 2;
        
int[] = {4,5,6,7};
        
methode2(jix);
        
System.out.println(x[i]);
        
System.out.println(x[j]);
    }
    public static 
void methode2 (int iint jint[] y){
        
y[i] = j;
    } 
Warum ändert die methode2 den Wert von x[2] zu einer 1?

Danke im Vorraus, schönen Sonntag.
fehlt da nicht irgendetwas beim Code den du gezeigt hast?
03/15/2021 08:50 BW_F125#3
Quote:
Originally Posted by Mad0ck View Post
fehlt da nicht irgendetwas beim Code den du gezeigt hast?
Ich habe diesen gekürzt auf den relevanten Teil.
Der gezeigte Code erzeugt die Ausgabe der 5 und 1

Und ich möchte gerne wissen warum er die 1 erzeugt und nicht die 6

also warum das System.out.println(x[j]); eine 1 erzeugt
03/15/2021 15:34 Mad0ck#4
Quote:
Originally Posted by BW_F125 View Post
Ich habe diesen gekürzt auf den relevanten Teil.
Der gezeigte Code erzeugt die Ausgabe der 5 und 1

Und ich möchte gerne wissen warum er die 1 erzeugt und nicht die 6

also warum das System.out.println(x[j]); eine 1 erzeugt

Jetzt versteh ich auch was du meintest ^^

Ich hab jetzt nicht die besten java Kenntnisse (eig. kaum welche) , da ich vorwiegend mit python und JS arbeite , aber im Grunde überschreibst du mit
PHP Code:
y[i] = j
Dein array mit dem Index i, zu deinem aktuellen j
also aus
PHP Code:
[4567]
wird
[4517

Sieht man hier ganz gut:
PHP Code:

import java
.util.Arrays;

public class 
Test{

public static 
void main(String[] args) {
        
int i 1;
        
int j 2;
        
int[] = {4,5,6,7};

        
methode2(jix);
        
System.out.print("array x:  ");
        
System.out.println(Arrays.toString(x));
        
        
System.out.println(x[i]);
        
System.out.println(x[j]);
    }
    public static 
void methode2 (int iint jint[] y){
        
System.out.println(Arrays.toString(y));
        
y[i] = j;
        
System.out.println(Arrays.toString(y));

    } 

Code:
Output:
[4, 5, 6, 7]
[4, 5, 1, 7]
array x:  [4, 5, 1, 7]
5
1
03/26/2021 06:40 Mad0ck#5
So wichtig kanns ja ned gewesen sein :kappa: