-1
votes

Java déplaçant un tableau 2D à droite, avec la dernière colonne étant placée en premier

Bonjour je me demandais si je pouvais obtenir de l'aide pour créer une méthode pour déplacer un tableau 2D Java 2D sur la droite

public void filter(PixelImage pi) {
    Pixel[][] data = pi.getData();  // get image data

    for (int row = 0; row < pi.getHeight(); row++) {
        for (int col = 0; col <  pi.getWidth(); col++) {
               if(col == pi.getWidth()-1){
                   Pixel lastCol = data[row][pi.getWidth()-1];
                   data[row][0] = lastCol;
                }
               else{    
                Pixel temp1 = data[row][col];              
                data[row][col+1] = temp1;
            }
        }
    }  
    // reset data into the PixelImage object pi
    pi.setData(data);
}


2 commentaires

Avoir vous a essayé de déboguer? Qu'est-ce que vos conclusions?


Veuillez ajouter un petit exemple, le résultat souhaité et le résultat «incorrect».


3 Réponses :


2
votes

Cela pourrait fonctionner.

public void filter(PixelImage pi) {
    Pixel[][] data = pi.getData();  // get image data

    for (int row = 0; row < pi.getHeight(); row++) {
        Pixel lastCol = data[row][pi.getWidth()-1];
        for (int col = pi.getWidth() - 1; col > 0; col--) {          
                data[row][col] = data[row][col-1];
            }
        data[row][0] = lastCol;
    }  
    // reset data into the PixelImage object pi
    pi.setData(data);
}


3 commentaires

Désolé, je n'ai pas remarqué que la réponse semblable à la mienne existe et l'a édité un peu


@Mbo excusez-moi mon frère, quand je posterai ma réponse n'a pas vu le vôtre. S'il vous plaît apporter votre réponse et je le supprime.


Non, votre réponse était quelques instants plus tôt :) et contient les mêmes informations. Cela résout complètement le problème de l'auteur.



0
votes

Pour passer à droite, vous devriez commencer à passer du côté droit. Maintenant ce que vous faites, c'est comme: xxx

mais vous devriez le faire comme: xxx

car vous devez commencer votre boucle longueur-1 à 0


0 commentaires

0
votes

Cela fonctionnera bien vérifier

Méthode d'appel shiftByElace nombre de fois que vous devez changer xxx


0 commentaires