Array Elemente Paarweise vertauschen

chrome1000

Mitglied
Bekomme das nicht hin, in innerhalb eines Arrays Paarweise immer 2 Elemente zu vertauschen. also am Ende soll 4,1,12,7,3,8,5 ausgegeben werden...
Java:
public class A2 {

    public static void main(String[] args) {
      
        int array[]={1,4,7,12,8,3,5};
        int i = 0;
        
        while(i<array.length){
            i+=2;
            
            int hilfsvariable =array[1];
            array[i]=array[i+1];
           
            array[i+1] = hilfsvariable;
           
            System.out.println(hilfsvariable);
                            
        }           
                   
    }
}
 
Zuletzt bearbeitet von einem Moderator:
while(i<array.length){
Hier wirst du wahrscheinlich eine Exception bekommen was du siehst wenn du dir das i mal anschaust:
1. Durchlauf -> i = 0 [i+1] = 1
2. Durchlauf -> i = 2 [i+1] = 3
3. Durchlauf -> i = 5 [i+1] = 6
4. Durchlauf -> i = 7 [i+1] = 8 --> Du hast in deinem Array keinen 8. Index

Deswegen musst du nur bis length-1 gehen.

Wenn du i am Anfang erhöhst, dann fängst du beim 1. Durchlauf mit einem i von 2 an.

Deswegen i erst am Ende um 2 erhöhen.

int hilfsvariable =array[1];

Denkfehler - die Hilfsvariable muss immer das 1. Element der beiden Zahlen sein die du tauschen willst. Momentan ist deine Hilfsvariable immer die 4.

array=array[i+1];

Hier fehlt beim linken Wert der Index .

Gruß
Robert
 
Moin,

erstens: poste Code bitte immer in Java-Tags (siehe meine Signatur)

Dann lässt sich das Ganz nicht mal compilieren wegen:
Java:
 array=array[i+1];

Zudem solltest Du nicht immer die erste Variable des gesamten Arrays nehmen:
Java:
int hilfsvariable = array[1];

Gruß Klaus

EDIT: ein bisschen zu langsam 🙁
 

Zurück
Oben