marie12_2000
-
7 janv. 2020 à 09:41
bazfile
Messages postés53546Date d'inscriptionsamedi 29 décembre 2012StatutModérateur, Contributeur sécuritéDernière intervention18 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++;}
}