Probleme d'excution

Signaler
Messages postés
2
Date d'inscription
jeudi 21 mai 2020
Statut
Membre
Dernière intervention
21 mai 2020
-
Messages postés
5351
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
17 août 2020
-
bonjour je suis debutant dans java
bon j'ai fait un exercice sur le tri a bulle et recherche dichotomique
mais ne marche pas
pierre me donner mon erreur et le code correcte

package numbers;
import java.util.Scanner ;
public class numbers {
  private int tab[];
  public numbers()
  {
   this.tab=new int[4] ;
   
  }
 


 public static void main(String[] args) {
   numbers tab1 = new numbers() ;
 
   tab1.tri() ;
   tab1.length
   tab1.recherchedicho(30, 0, tab1.length)
    
 }
 
 public void tri()
 {
 int aux=0 ;
  
  for(int i=tab.length-1;0<=i;i++)
  {
   for(int j=0;j<i;j++)
   {
    boolean verif = true ;
    if (tab [j]>tab[j+1])
       { aux=tab[j];
       tab[j]=tab[j+1];
       tab[j+1]=aux ;
       verif = false ;
     
       }
   }
  
  }
 }
  public boolean recherchedicho (int x ,int m ,int n )
  {
   boolean verif = false;
   int a=m+n/2 ;
   while ((verif != false) &&(m>0)&&(n<tab.length))
   {
   if (x==tab[a])
   { 
     verif=true ;
    return verif ;
   }
   else if (x<tab[a])
   {
    n=a ;
    a=m+n/2 ;
   }
   else
   {
    m=a ;
   a=m+n/2 ;
   }
    
   }
   return verif ; 
  }
  
  }



2 réponses

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
301
Bonjour,

Tu devrais peut-être préciser un peu ce qui ne fonctionne pas pour nous guider un peu dans la réponse.

Le tri est incorrect ? Une exception est levée ? Si oui, laquelle ?

--
Messages postés
5351
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
17 août 2020
97
Salut,

à la lecture de la fonction main, je doute que tu ailles jusqu'à l'étape de l’exécution...
 public static void main(String[] args) {
   numbers tab1 = new numbers() ;
 
   tab1.tri() ;
   tab1.length // <---- il manque le ';' de terminaison de plus il n'y a aucune variable length dans la classe numbers.
   tab1.recherchedicho(30, 0, tab1.length) // <---- il manque le ';' de terminaison
    
 }


dans la méthode 'tri', la variable 'verif' est inutile