Probleme d'excution

pierre_1948 Messages postés 2 Date d'inscription jeudi 21 mai 2020 Statut Membre Dernière intervention 21 mai 2020 - Modifié le 31 juil. 2020 à 00:03
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 17 août 2020 à 18:23
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

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
29 juil. 2020 à 13:55
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 ?

--
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
17 août 2020 à 18:23
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

0
Rejoignez-nous