Partage
  • Partager sur Facebook
  • Partager sur Twitter

passer une table en parametre

Sujet résolu
    15 janvier 2011 à 11:18:03

    Salut a tous,
    Alors voila mon probleme est le suivant: j'essaye tant bien que mal la methode de tri par insertion... alors dans ma classe test je cree une table et jy ajoute des element..jusqu'ici tout va bien. Mais lorsque je passe en parametre la table que jai cree, la compilation foire :colere2: Voici mes codes
    classe pricipale
    public class TableATriee{
          private  int []table;
          private int nombreElement;
          private int taillePhysique;
       
          public TableATriee(int taillePhysique){
             this.nombreElement = nombreElement;
             this.taillePhysique = taillePhysique;
             table = new int [taillePhysique];
          }
    		
    		public int getNombreElement(){
    			return nombreElement;
    		}
    		
       
          public boolean ajouterElement( int element){
             table[nombreElement]=element;
             nombreElement++;
             return true;
          }
       
          public boolean supprimerElement(int elementASupprimer){
             for(int i=0; i<= nombreElement; i++){
                if(table[i]==elementASupprimer){
                   table[i]= table[nombreElement-1];
                   nombreElement--;
                   return true;
                }
             }
             return false;
          }
       	
          public void trierTable( int []table){
             for(int i=1; i<nombreElement; i++){
             int elementCourant = table[i];
    			int j;
    				for( j= i-1; j>=0 && table[j]>elementCourant; j--){
    				table[j+1] = table[j];
    				}
    				
    				table[j+1] = elementCourant;
             }
          }
    		    /*  public void trierTable( int []table){
             for(int i=1; i<nombreElement; i++){
             int elementCourant = table[i];
    			int j;
    				for( j= i-1; j>=0 && table[j]>elementCourant; j--){
    				table[j+1] = table[j];
    				}
    				
    				table[j+1] = elementCourant;
             }
          }*/
    		
    		public String toString(){
    		String aRenvoyer="";
    			for(int i=0; i<nombreElement; i++){
    			aRenvoyer = aRenvoyer+"  "+ table[i];
    			}
    			return aRenvoyer;
    		}
       }
    


    classe test
    public class Test{
       
          public static void main ( String [] args){
             TableATriee table = new TableATriee (10);
             table.ajouterElement(15);
             table.ajouterElement(3);
             table.ajouterElement(7);
             table.ajouterElement(2);
             table.ajouterElement(1);
             System.out.println(table.toString());
             table.trierTable(table);
             System.out.println(table.toString());
    			
          }
       }
    
    • Partager sur Facebook
    • Partager sur Twitter
      15 janvier 2011 à 11:25:26

      t'as l'intention qu'on devine le message d'erreur ?
      • Partager sur Facebook
      • Partager sur Twitter
        15 janvier 2011 à 11:36:13

        Hmm normal ,

        Tu lui envoi un object de la classe TableATriee en parametre :

        table.trierTable(table);

        mais tu recuperes un tableau de int :

        public void trierTable( int []table)

        La bonne solution aurait été de rien passer du tout en parametres.
        • Partager sur Facebook
        • Partager sur Twitter
          15 janvier 2011 à 12:13:14

          dsl le message est le suivant:
          Test.java:11: trierTable(int[]) in TableATriee cannot be applied to (TableATriee)
          table.trierTable(table);
          ^
          ...je comprends pas comment dire a ma methode de trier la table si je ne lui passe rien en parametre????
          • Partager sur Facebook
          • Partager sur Twitter
            15 janvier 2011 à 16:38:15

            Citation : shooter1070


            ...je comprends pas comment dire a ma methode de trier la table si je ne lui passe rien en parametre????




            Ba ca c'est la base de la programation orienté objet.
            regarde la j'initialise le tableau sans rien passer en parametre :

            public class tableauA{
            
            private int[] tableau = new int[10];
            
               public void initialiser_le_tableau(){
                  for(int i=0;i<10;i++){
                     this.tableau[i] = i ;
                  }
               }
            }
            


            Ba c'est pareil pour trier.


            • Partager sur Facebook
            • Partager sur Twitter

            passer une table en parametre

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown