Erste Schritte Im Array Werte tauschen

dan1996

Aktives Mitglied
Hallo, ich würde gerne im Array Werte tauschen, es soll die niedrigste und höchste Zahl mit einer 0 ausgetauscht werden. Ich habe jetzt erst mal die Zahlen nach Größe sortiert, aber ich weiß nicht genau wie ich die Zahlen umtausche. Ich hatte es mit ner for Schleife versucht aber funktioniert nicht wie ich will 😀

Java:
public static void main(String[] args){
       
        int[] a = {15,3,5,0,20,20};

        sortier(a);

    }
   
    public static int[] sortier(int[] a ){

        int temp;
        for(int i = 1; i < a.length; i++){
            for(int j = 0; j < a.length - i; j++){
                if(a[j] > a[j+1]){
                    temp = a[j];
                    a[j] = a[j+1];
                    a[j+1] = temp;
                }
            }
        }
        return a;
    }
 
Willst du "tauschen" oder "ersetzen"?
So wie du es momentan beschreibst, und ich es verstehe, klingt es eher nach
Java:
a[0] = 0;
a[a.length-1] = 0;

BTW: Warum gibt deine Sortiermethode ein Array zurück?
 
ersetzen und genau das
a[0] = 0;
a[a.length-1] = 0;
habe ich auch schon versucht, doch dadurch wird alles zu 0
Code:
Ausgabe
0
0
0
0
0
0

weil ich mit dem sortierten Array in einer anderen Methode noch weiter arbeiten will 🙂

also z.b soll nach dem sortierten Array {0,3,5,15,20,20}
die erste und letzte zahl zu 0 {0,3,5,15,20,0}
 
An welcher Stelle hast du diese 2 Zeilen denn eingesetzt. Wenn du sie vor dem return schreibst dann sollte der Code auch so passen
 
Java:
public static int[] sortier(int[] a ){

        int temp;
        for(int i = 1; i < a.length; i++){
            for(int j = 0; j < a.length - i; j++){
                if(a[j] > a[j+1]){
                    temp = a[j];
                    a[j] = a[j+1];
                    a[j+1] = temp;
                }
            }
        }
        a[0] = 0;
        a[a.length-1] = 0;
      
      
        return a;

    }

geht nicht
 
Java:
public static void main(String[] args) {
    int[] a = new int[]{0,3,5,15,20,20};
    sortier(a);
    System.out.println(Arrays.toString(a));
}

public static int[] sortier(int[] a ){
    int temp;
    for(int i = 1; i < a.length; i++){
        for(int j = 0; j < a.length - i; j++){
            if(a[j] > a[j+1]){
                temp = a[j];
                a[j] = a[j+1];
                a[j+1] = temp;
            }
        }
    }

    a[0] = 0;
    a[a.length - 1] = 0;
    return a;
}
Code:
[0, 3, 5, 15, 20, 0]
 

Neue Themen


Zurück
Oben