Se connecter / S'enregistrer
Votre question

décaler un tableau java

Tags :
  • string
  • Programmation
Dernière réponse : dans Programmation
Anonyme
4 Janvier 2011 11:56:34

Bonjour,

Je voudrais simplement décaler mon tableau d'un cran vers la droite mais ma méthode ne marche pas !! .
La voici :
  1. public static void rotateRightOne ( int [ ] tab )
  2. { int i = 0 ;
  3. int [] tabrot = new int [tab.length] ;
  4.  
  5. for ( i = 0 ; i < (tab.length-1 ) ; i ++ )
  6. {
  7. tabrot[i] = tab[i+1] ;
  8. }
  9. tabrot [tabrot.length -1 ] = tab[0] ;
  10. tab = tabrot ;
  11. }
  12. public static void main ( String [] args )
  13. {
  14. int [] tab = {1,2,3,4};
  15. six.rotateRightOne ( tab ) ;
  16. System.out.println (tab[0] ) ;
  17. System.out.println (tab[1] ) ;
  18. System.out.println (tab[2] ) ;
  19. System.out.println (tab[3] ) ;
  20. }

Autres pages sur : decaler tableau java

Anonyme
4 Janvier 2011 14:35:41

Ma question c'est surtout est ce qu'on peut dire : tab = tabrot ?
Et est ce qu'en écrivant cela mon 'tab' aura les valeurs de rabrot ?
m
0
l
a c 232 L Programmation
4 Janvier 2011 14:41:47

Salut,

C'est normal.
Le tableau est passé par copie à la méthode rotateRightOne, il n'est donc pas modifié dans ta fonction main.

Edit: j'avais pas encore vu ta 2ème question. Oui ça peut se faire tab = tabrot et tab sera alors identique à tabrot.
Mais si tu veux l'utiliser dans la méthode main, il faut faire un return tab; (après avoir mis le type de retour de ta fonction à int[])
Et tu pourras alors utiliser tabrot dans ta méthode main
m
0
l
Anonyme
4 Janvier 2011 15:32:58

Ok merci beaucoup ! Ca marche très bien maintenant :D 
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS