Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3211 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  après l'inversion manques des éléments

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

après l'inversion manques des éléments

n°2273766
domxaline
Posté le 19-01-2016 à 10:44:13  profilanswer
 

Bonjour
En exécutant mon programme, ce dernier me donne que un seul éléments inversé:
Entrez le nb du tableau:3
Entrez l'élément 1:4
Entrez l'élément 2:5
Entrez l'élément 3:6
Vous avez rentré les numéros suivantes:
4.5.6.
Après l'inversion les numéros sont:
6
veuillez m'aidez s'il vous plaît

Code :
  1. import java.util.Scanner;
  2. public class Somme
  3. {
  4. public static void main(String[] args)
  5. {
  6.  int i;
  7.  int n=0;
  8.  Scanner sc=new Scanner(System.in);
  9.  System.out.print("Entrez le nb du tableau:" );
  10.  int nb=sc.nextInt();
  11.  int tab[]=new int[nb];
  12.  for(i=0;i<nb; i++)
  13.  {
  14.   System.out.print("Entrez l'élément "+(i+1)+":" );
  15.   tab[i]=sc.nextInt();
  16.  }
  17.  System.out.println("Vous avez rentré les numeros suivantes:" );
  18.  for(i=0;i<nb;i++)
  19.  {
  20.     System.out.print(tab[i]+"." );
  21.  }
  22.  int moi=Test(tab,nb);
  23.  System.out.println(moi);
  24. }
  25. public static int Test(int[]tab,int nb)
  26. {
  27.  System.out.println("\nAprès l'inversion les numéros sont:" );
  28.  int i=0;
  29.  nb=tab.length-1;
  30.  for(i=0; i<nb; i++)
  31.  {
  32.   int temp=tab[i];
  33.   tab[i]=tab[nb-i];
  34.   tab[nb-i]=temp;
  35.   //System.out.print(tab[i]+"." );   
  36.  }
  37.  int moi=tab[nb-i];
  38.  return(moi);
  39.     }
  40.   }

mood
Publicité
Posté le 19-01-2016 à 10:44:13  profilanswer
 

n°2273767
leonhard
Posté le 19-01-2016 à 10:56:47  profilanswer
 

domxaline a écrit :

Bonjour
En exécutant mon programme, ce dernier me donne que un seul éléments inversé:
Entrez le nb du tableau:3
Entrez l'élément 1:4
Entrez l'élément 2:5
Entrez l'élément 3:6
Vous avez rentré les numéros suivantes:
4.5.6.
Après l'inversion les numéros sont:
6
veuillez m'aidez s'il vous plaît

Code :
  1. [...]
  2. public static int Test(int[]tab,int nb)
  3. {
  4.  System.out.println("\nAprès l'inversion les numéros sont:" );
  5.  int i=0;
  6.  nb=tab.length-1;
  7.  for(i=0; i<nb; i++)
  8.  {
  9.   int temp=tab[i];
  10.   tab[i]=tab[nb-i];
  11.   tab[nb-i]=temp;
  12.   //System.out.print(tab[i]+"." );   
  13.  }
  14.  int moi=tab[nb-i];
  15.  return(moi);
  16.     }
  17.   }



 
La fonction "Test()" retourne le premier élément du tableau (l'élément d'indice nb-nb= 0) et pas le tableau lui même, donc il est normal qu'une variable de type int ne contienne qu'un seul élément.  

n°2273769
domxaline
Posté le 19-01-2016 à 11:16:21  profilanswer
 

d'accord  
pour retourner le tableau lui même, quel est la solution svp


Message édité par domxaline le 19-01-2016 à 11:18:06
n°2273770
domxaline
Posté le 19-01-2016 à 11:30:31  profilanswer
 

cette fois je trouve un message outof bound exception
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
 at Somme.Test(Somme.java:32)
 at Somme.main(Somme.java:21)
 

Code :
  1. import java.util.Scanner;
  2. public class Somme
  3. {
  4. public static void main(String[] args)
  5. {
  6.  int i;
  7.      Scanner sc=new Scanner(System.in);
  8.      System.out.print("Entrez le nb du tableau:" );
  9.      int nb=sc.nextInt();
  10.      int tab[]=new int[nb];
  11.      for(i=0;i<nb; i++)
  12.      {
  13.          System.out.print("Entrez l'élément "+(i+1)+":" );
  14.          tab[i]=sc.nextInt();
  15.      }
  16.      System.out.println("Vous avez rentré les numeros suivantes:" );
  17.      for(i=0;i<nb;i++)
  18.      {
  19.          System.out.print(tab[i]+"." );
  20.      }
  21.      int moi=Test(tab,nb);
  22.      System.out.println(moi);
  23. }
  24. public static int Test(int[]tab,int nb)
  25. {
  26.      System.out.println("\nAprès l'inversion les numéros sont:" );
  27.      int i=0;
  28.      nb=tab.length-1;
  29.      for(i=0; i<nb; i++)
  30.      {
  31.          int temp=tab[i];
  32.          tab[i]=tab[nb-i];
  33.          tab[nb-i]=temp;
  34.          //System.out.print(tab[i]+"." );  
  35.      }
  36.      int moi=tab[nb-1];
  37.      return(moi);
  38.    }
  39. }


Message édité par domxaline le 19-01-2016 à 12:21:36
n°2273772
domxaline
Posté le 19-01-2016 à 12:19:13  profilanswer
 

mon programme marche bien sans faire par la méthode
regardez  
 

Code :
  1. import java.util.Scanner;
  2. public class Inverse
  3. {
  4. public static void main(String[] args)
  5. {
  6. int n, i;
  7. Scanner sc=new Scanner(System.in);
  8. System.out.print("Entrez le nb du tableau:" );
  9. int nb=sc.nextInt();
  10. int tab[]=new int[nb];
  11. for(i=0; i<nb; i++)
  12. {
  13.    System.out.print("Entrez l'élément "+(i+1)+":" );
  14.    tab[i]=sc.nextInt();
  15. }
  16. System.out.println("Vous avez rentré les numéros suivantes:" );
  17. for(i=0; i<nb; i++)
  18. {
  19.    System.out.print(tab[i]+"." );
  20. }
  21. System.out.println("\nAprès l'inversion les numéros sont:" );
  22. n=tab.length-1;
  23. for(i=0; i<=n; i++)
  24. {
  25.    int temp=tab[i];
  26.    tab[i]=tab[n-i];
  27.    tab[n-i]=temp;
  28.    System.out.print(tab[i]+"." ); 
  29. }
  30. }
  31. }


mais dans la méthode il ne fonctionne pas

n°2273784
domxaline
Posté le 19-01-2016 à 17:03:08  profilanswer
 

j'ai changé un peu mon programme, maintenant il marche, mais la résultat sort de la méthode
mais je veux qu'il prend la résultat de la méthode Test et s'afficher dans la main méthode
quel qu'un peut m'aider svp?

Code :
  1. import java.util.Scanner;
  2. public class Somme
  3. {
  4. public static void main(String[] args)
  5. {
  6.  int i;
  7.      Scanner sc=new Scanner(System.in);
  8.      System.out.print("Entrez le nb du tableau:" );
  9.      int nb=sc.nextInt();
  10.      int tab[]=new int[nb];
  11.      for(i=0;i<nb; i++)
  12.      {
  13.          System.out.print("Entrez l'élément "+(i+1)+":" );
  14.          tab[i]=sc.nextInt();
  15.      }
  16.      System.out.println("Vous avez rentré les numeros suivantes:" );
  17.      for(i=0;i<nb;i++)
  18.      {
  19.          System.out.print(tab[i]+"." );
  20.      }
  21.    
  22.      Test(tab);
  23. }
  24. public static void Test(int[]tab)
  25. {
  26.      System.out.println("\nAprès l'inversion les numéros sont:" );
  27.      
  28.      for(int i = tab.length-1; i>=0; i--)
  29.      {
  30.          System.out.print(tab[i]+"." );
  31.      }
  32.  
  33.    }
  34. }

n°2278310
90degre
Vient d'arriver
Posté le 24-03-2016 à 15:53:56  profilanswer
 

Il est important d'utiliser les outils offerts par Java.
Ci-dessous, ton programme modifié :

Code :
  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.Scanner;
  4. public final class Somme {
  5. public static void main(String[] args) {
  6.  Scanner sc = new Scanner(System.in);
  7.  System.out.print("Entrez le nb du tableau:" );
  8.  int nb = sc.nextInt();
  9.  ArrayList<Integer> tab = new ArrayList<Integer>();
  10.  for (int i = 0; i < nb; i++) {
  11.   System.out.print("Entrez l'élément " + (i + 1) + ":" );
  12.   tab.add(sc.nextInt());
  13.  }
  14.  System.out.println("Vous avez rentré les numeros suivantes:" );
  15.  for (Integer integer : tab) {
  16.   System.out.print(integer + "." );
  17.  }
  18.  Collections.reverse(tab);
  19.  System.out.println("\nAprès l'inversion les numéros sont:" );
  20.  for (Integer integer : tab) {
  21.   System.out.print(integer + "." );
  22.  }
  23. }
  24. }


A ta disposition


Message édité par 90degre le 24-03-2016 à 15:54:12

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  après l'inversion manques des éléments

 

Sujets relatifs
Centrer des élémentsComment ajouter des éléments une list STL?
Inversion de l'état d'un objetforcer l'acceptation d’éléments flash dans internet explorer
déverser des éléments d'une liste à l'autreCréation d'une liste d'éléments liés à un id input
Afficher/Masquer éléments DIV en javascriptInversion lignes de .txt par blocs
Comment créer un lien avec des éléments d'une base de données?Theme wordpress artisteer : aligner les éléments d'une page et espaces
Plus de sujets relatifs à : après l'inversion manques des éléments


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR