Problème de suppression dans mon treeset

Fermé
Bonjour, ci dessous mon code, je tente de supprimer les biens qui ne satisfont pas les critères demandés le nombre de critères est variable

   public void  recherche_selon_critr(){
        Bien bien=null;
        Scanner sc=new Scanner(System.in);
        
        TreeSet<Bien>  liste_des_biens_rech =new TreeSet<Bien>();
        int nbr;
        
        System.out.println("saisissez le nombre de criteres");
        nbr=sc.nextInt();
        System.out.println("voici le nbr "+nbr);
        int critere[]=new int[7];
        int i; 
        liste_des_biens_rech=liste_des_biens;
        System.out.println("choisissez vos criteres par ordre svp");
        for(i=1;i<=nbr;i++)
        {
        System.out.println("Choisissez votre citere SVP  : ");
        System.out.println("{1}-->Selon le type de la transaction .");
        System.out.println("{2}-->Selon la wilaya .");
        System.out.println("{3}-->Selon le prix maximal . ");
        System.out.println("{4}-->Selon le prix minimal . ");
        System.out.println("{5}-->Selon le type .");
        System.out.println("{6}-->Selon la superficie minimale . ");
      
            
        	critere[i]=sc.nextInt(); 
        }
        
          int j=1; 
          int z;
          boolean removed;
          
          if((critere[j]==1)&&(j<=nbr)) {
        	  
                System.out.println("Donner le type de la transaction  SVP :");
                String adr=sc.nextLine();
                adr=sc.nextLine();
                for (Bien liste_des_bien : liste_des_biens_rech) {
                    bien = liste_des_bien;
                    if (bien.getTransaction().toString().equals(adr)) {
                       z=9;
                       
                    }
                    else
                    	removed=this.liste_des_biens_rech.remove(bien);
                    
                }
                j++;
                
            }
            if((critere[j]==2)&&(j<=nbr))
            {
                System.out.println("Donner la wilaya   SVP :");
                String wil;
                wil=sc.nextLine();
                wil=sc.nextLine();
                for (Bien liste_des_bien : liste_des_biens_rech) {
                    bien = liste_des_bien;
                    if (bien.getWilaya().toString().equals(wil)) {
                        z=9;
                    }
                    else 
                    	removed=this.liste_des_biens_rech.remove(bien);
                }
                j++;
            }
                
            if((critere[j]==3)&&(j<=nbr)) {
                System.out.println("Donner le prix maximal  :");
                int  prix=sc.nextInt();
                for (Bien liste_des_bien : liste_des_biens_rech) {
                    bien = liste_des_bien;
                    if (bien.getPrix()>prix) {
                    	 removed=this.liste_des_biens_rech.remove(bien);
                    }
                }
                j++;
            }
           
            if((critere[j]==4)&&(j<=nbr))
            {
                System.out.println("Donner le prix minimal  SVP :");
                int  prix_m=sc.nextInt();
                for (Bien liste_des_bien : liste_des_biens_rech) {
                    bien = liste_des_bien;
                    if (bien.getPrix()<prix_m) {
                    	 removed=this.liste_des_biens_rech.remove(bien);
                    }
                }
                j++;
            }
           
            if((critere[j]==5)&&(j<=nbr))
            {
                System.out.println("Donner le type comme suit : 1: Appartement , 2 :Maison, 3: Terrain   SVP :");
                int  type=sc.nextInt();
                for (Bien liste_des_bien : liste_des_biens_rech) {
                    bien = liste_des_bien;
                    if (type==1 &&(bien instanceof Appartement)) {
                        z=9;
                    }
                    else
                    	 removed=this.liste_des_biens_rech.remove(bien);
                    if (type==2 &&(bien instanceof Maison)) {
                      z=9;  
                    }
                    else 
                    	 removed=this.liste_des_biens_rech.remove(bien);
                    if (type==3 &&(bien instanceof Terrain)) {
                       z=9;
                    }
                    else
                    	 removed=this.liste_des_biens_rech.remove(bien);

                }

            }
            if((critere[j]==6)&&(j<=nbr))
            {
                System.out.println("Donner la superficie minimale  SVP : ");
                int sprfc=sc.nextInt();
                for (Bien liste_des_bien : liste_des_biens_rech) {
                    bien = liste_des_bien;
                    if (bien.getSurface()<sprfc) {
                    	 removed=this.liste_des_biens_rech.remove(bien);
                    }
                }
                j++;
            }
            
        
        System.out.println("voici le resultat de la recherche");
        System.out.println("");
        int cpt=1;
        for(Bien bn:liste_des_biens_rech){
            System.out.println("NUMERO DU BIEN : "+cpt);
            bn.afficher();
            System.out.println(" ");
            System.out.println("---------------------------------------");
            System.out.println(" ");
            cpt++;}
       
        
    }


Configuration: Windows / Chrome 75.0.3770.142

1 réponse

  1. Modérateur
    Bonjour,
    Continuer ici https://forums.commentcamarche.net/forum/affich-36400202-contenu-perdu-de-mon-treeset#breadScrumb