pb lors creation d'une classe generic en java pour type primitif

pb lors creation d'une classe generic en java pour type primitif - Matériels & problèmes divers - Hardware

Marsh Posté le 20-03-2009 à 10:48:41    

pb lors creation d'une classe generic en java pour type primitif
 
lorsque je compile le fichier suivant il me donne  
 
public class TrieurNb<number N>
{
   private boolean croissant;
 
   /**
      cNnstruit un trieur de nombres
    */
   public TrieurNb(boolean croissant)
   {
      this.croissant=croissant;
   }
   
   
    public void tri(N[] tab,int debut, int fin)
    {
        construireTas(tab,debut,fin);
        deconstruireTas(tab,debut,fin);
    }
   
    private void construireTas(N[] tab,int debut, int fin)
    {        
        int j;
         
        for(int i=debut+1;i<fin;i++)
        {
            j=i;
            if(croissant==true)
            {
                while(j>=0 && pere(j)>=0 && tab[pere(j)].compareTo(tab[j])<0)
                {
                    echange(tab,pere(j),j);
                    j=pere(j);
                }
            }
            else
            {
                while(j>=0 && pere(j)>=0 &&  tab[pere(j)].compareTo(tab[j])>0)
                {
                    echange(tab,pere(j),j);
                    j=pere(j);
                }
            }
        }
         
    }
 
    private void deconstruireTas(N[] tab,int debut, int fin)
    {
        int j;
        int fils;
         
        for(int i=fin-1;i>debut;i--)
        {  
            j=debut;
            echange(tab,debut,i);
            if(croissant==true)
            {    
                 
                while(filsg(j) < i && tab[filsg(j)]<tab[j] || (filsd(j) < i && tab[filsd(j)]<tab[j]))
                {
                    fils=filsg(j);
                     
                    if((filsd(j) < i && tab[filsd(j)]<tab[j]) && filsd(j) < i)
                    {
                        fils=filsd(j);
                    }                    
                    echange(tab,fils,j);
                     
                    j=fils;                    
                }
            }
            else
            {
                while(filsg(j) < i && tab[filsg(j)]<tab[j] || (filsd(j) < i && tab[filsd(j)]<tab[j]))
                {
                    fils=filsg(j);
                     
                    if((filsd(j) < i && tab[filsd(j)]<tab[j]) && filsd(j) < i)
                    {
                        fils=filsd(j);
                    }                    
                    echange(tab,fils,j);
                     
                    j=fils;                    
                }
            }
        }    
    }
 
    private void echange(N[] tab,int indice1, int indice2)
    {
        if(indice1 != indice2)
        {
            N tmp;
            tmp = tab[indice1];
            tab[indice1] = tab[indice2];
            tab[indice2] = tmp;
        }
    }
 
   
   /**
        calcul l'indice Nu se trNuve le pere du fils passe en parametre
          @param i indice du fils
     */
    private int pere(int i)
    {
        return (i+1)/2 - 1;
    }
 
    /**
        calcul l'indice Nu se trNuve le fils gauche du pere passe en parametre
          @param i indice du pere
     */
    private int filsg(int i)
    {
        return (2*i)+1;
    }
 
    /**
        calcul l'indice Nu se trNuve le fils drNit du pere passe en parametre
          @param i indice du pere
          @return  
     */
    private int filsd(int i)
    {
        return 2*(i+1);
    }
     
     
    public static void main(String[] a)
    {
       TrieurNb<int> t =new TrieurNb<int> (true);
       int [] tab = {1, 23, 3 ,12, 12};
       t.tri(tab,0,tab.length);
       for(int i = 0 ; i<tab.length;i++)
       {
         System.out.print(tab[i]+"\t" );
       }
       System.out.println();
    }
     
}
 
 
public class TrieurNb<number N>
                            ^
TrieurNb.java:5: illegal start of type
public class TrieurNb<number N>
                              ^
TrieurNb.java:5: <identifier> expected
public class TrieurNb<number N>
                               ^
TrieurNb.java:6: ';' expected
{
 ^
4 errors

Reply

Marsh Posté le 20-03-2009 à 10:48:41   

Reply

Marsh Posté le 20-03-2009 à 11:20:01    

Tu ferais mieux de poster ton problème dans la catégorie adéquate !
Bonne m... ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed