Comment puis-je échanger deux entiers dans un tableau, où ma méthode prend deux entiers et un tableau à partir d'principal?

J'appelle ma méthode d'échange en main, mais ça ne change rien. Ce que je fais mal?

public static void main(String[] args){


    int mainArr[] = new int[20];

    for(int i = 0; i<mainArr.length; i++){
    swapper(3, 14, mainArr);
    System.out.print(i + mainArr[i] + " ");
    }
}


public static void swapper (int a, int b, int[] mainArr){
    int t = mainArr[a];
    mainArr[a] = mainArr[b];
    mainArr[b] = t;
}

Mon code rendements

0, 1,  2, 3,...19 

normal dans l'ordre croissant, où je le veux pour échanger le 4e et 15e élément.

  • soient a,b des entiers d'un swap ou d'indices de votre tableau principal?
  • Hors sujet -> Pourquoi êtes-vous en invoquant votre swapper à partir de l'intérieur d'une boucle?
  • Je veux a et b pour remplacer dans le tableau
  • Pas de hors sujet... s'il effectue la permutation d'un même nombre de fois, il récupère le tableau d'origine. Quand il imprime le 4 valeur qu'elle serait de 4, quand il imprime le 15e il devrait être de 4 à nouveau.
  • où faut-il être invoqué alors?
  • Code fourni ne met rien dans le tableau de sorte que vous avez l'impression i+0
  • Je suppose que vous voulez que cela se produise une fois, avant d'imprimer le tableau, à droite?
  • c'est même un meilleur catch... 🙂

InformationsquelleAutor perldog93 | 2012-10-24