Problème de suppression dans mon treeset

Fermé
marie12_2000 - 7 janv. 2020 à 09:41
bazfile Messages postés 53546 Date d'inscription samedi 29 décembre 2012 Statut Modérateur, Contributeur sécurité Dernière intervention 18 avril 2024 - 7 janv. 2020 à 16:07
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
A voir également:

1 réponse

bazfile Messages postés 53546 Date d'inscription samedi 29 décembre 2012 Statut Modérateur, Contributeur sécurité Dernière intervention 18 avril 2024 18 448
7 janv. 2020 à 16:07
0