toto
Messages : 66 Points : 5681 Date de naissance : 24/07/1988 Date d'inscription : 19/02/2010 Age : 36 Localisation : casablanca Emploi/loisirs : hand ball
| Sujet: objet de Segement Jeu 28 Oct - 17:01 | |
| Bienvenu les amis sous P.O.O j'ai construit un segement qui contient deux classe la premiere c'est Segement.java qui contient notre attribut privé et les methode lorsque je dit Method on dit les constructeur parce que les constructeur sont des methode particulier voila mon code - Code:
-
package segment;
public class Segement { private int extre1=0;//attribut1 private int extre2=0;//attribut2 public Segement() { //constructeur par defaut extre1=10; extre2=45; } public Segement(int e1,int e2){ //constructeur initialisation if(e1<e2) { extre1=e1; extre2=e2; } else{ System.out.println("erreur de emplacement de extrémités on va permuter"); extre1=e2; extre2=e1; } } public void affiche(){ if(extre1==extre2) System.out.println("{"+extre1+"}"); else System.out.println("["+extre1+","+extre2+"]"); } public int longeur(){ int longeur=extre2-extre1; return longeur; } public void appartient(int x){ if(x>=extre1 && x<=extre2) System.out.println("le "+x+" est appartient de segement"); else System.out.println("le "+x+" est n'appartient de segement!!!"); } //union public void union(Segement S){ System.out.print("la union de deux segement est: "); if(this.extre1<=S.gete1() && this.extre2<=S.gete2() && this.extre2>=S.gete1()) System.out.println("["+this.extre1+","+S.gete2()+"]"); else if(this.extre1>=S.gete1() && this.extre2>=S.gete2() && this.extre1<=S.gete2()) System.out.println("["+S.gete1()+","+this.extre2+"]"); else if(this.extre1>=S.gete1() && this.extre2<=S.gete2()) System.out.println("["+S.gete1()+","+S.gete2()+"]"); else if(this.extre1<=S.gete1() && this.extre2>=S.gete2()) System.out.println("["+this.extre1+","+this.extre2+"]"); else { if(this.extre1<S.gete1()) System.out.println("["+this.extre1+","+this.extre2+"]unio["+S.gete1()+","+S.gete2()+"]"); else System.out.println("["+S.gete1()+","+S.gete2()+"] |_| ["+this.extre1+","+this.extre2+"]"); } } //intersection public void inter(Segement S){ System.out.print("l'intersection de deux segement est:"); if(this.extre1<=S.gete1() && this.extre2<=S.gete2() && this.extre2>S.gete1()) System.out.println("["+S.gete1()+","+this.extre2+"]"); else if(this.extre1>=S.gete1() && this.extre2>=S.gete2() && this.extre1<S.gete2()) System.out.println("["+this.extre1+","+S.gete2()+"]"); else if(this.extre1>=S.gete1() && this.extre2<=S.gete2()) System.out.println("["+this.extre1+","+this.extre2+"]"); else if(this.extre1<=S.gete1() && this.extre2>=S.gete2()) System.out.println("["+S.gete1()+","+S.gete2()+"]"); else { if(this.extre2==S.gete1()) System.out.println("{"+this.extre2+"}"); else if(this.extre1==S.gete2()) System.out.println("{"+this.extre1+"}"); else System.out.println("ensemble vide"); } } //accesseur public int gete1(){ return extre1; } public int gete2(){ return extre2; } //mutateur public void sete1(int e1){ extre1=e1; } public void sete2(int e2){ extre2=e2; } }
Tout va bien maintenemt on va test cette classe dans une autre classe qu'il s'appelle Testsegm.java qui contient notre Main la voila : - Code:
-
package segment; import java.util.*;//pour objet Scanner public class Testsegm {
/** * @param args */ public static void main(String[] args) { Scanner scan=new Scanner(System.in); Scanner sc=new Scanner(System.in); Segement S1=new Segement();//on a crée S1 par defaut Segement S2=new Segement(-15,30);//on crée S2 par initialisation //affichage System.out.print("le segement S1 par defaut est :"); S1.affiche(); System.out.print("le segement S2 par initialisation est :"); S2.affiche(); //la longeur de segement System.out.println("la longeur de S1 est: "+S1.longeur()+"\nla longuer de S2 est: "+S2.longeur()); //union et intersection S1.union(S2); S1.inter(S2); //appartieny System.out.print("entrer X0="); int x=scan.nextInt(); System.out.print("le segement S1:"); S1.appartient(x); System.out.print("le segement S2:"); S2.appartient(x); //nouveau segement System.out.println("si vous voudrais changer les segement de S1 taper oui ou yes ou o ou O ou ah ^_^"); String auto=sc.nextLine(); if(auto.equals("oui")||auto.equals("yes")||auto.equals("o")||auto.equals("0")||auto.equals("ah")) { boolean bool; do{ System.out.println("entrer le premiere extrémités de S1"); int e1=scan.nextInt(); System.out.println("entrer le deuxieme extrémités de S1"); int e2=scan.nextInt(); if(e1==e2) { bool=false; } else if(e1<e2){ S1.sete1(e1); S1.sete2(e2); bool=true; } else{ System.out.println("erreur de emplacement de extrémités on va permuter"); S1.sete1(e2); S1.sete2(e1); bool=true; } }while(bool==false); } System.out.println("si vous voudrais changer les segement de S2 taper oui^_^"); String auto2=sc.nextLine(); if(auto2.equals("oui")||auto2.equals("yes")||auto2.equals("o")||auto2.equals("0")||auto2.equals("ah")) { boolean bool; do{ System.out.println("entrer le premiere extrémités de S2"); int e1=scan.nextInt(); System.out.println("entrer le deuxieme extrémités de S2"); int e2=scan.nextInt(); if(e1==e2) { bool=false; } else if(e1<e2){ S2.sete1(e1); S2.sete2(e2); bool=true; } else{ System.out.println("erreur de emplacement de extrémités on va permuter"); S2.sete1(e2); S2.sete2(e1); bool=true; } }while(bool==false); } System.out.print("le segement S1: "); S1.affiche(); System.out.print("le segement S2: "); S2.affiche(); S1.union(S2); S1.inter(S2); }
}
j'oblier la methode tostring mais vous pouvez le modifier et le hériter oblier pas cette objet est dans un package si il y a des question poser la Merci de votre attention | |
|
TSDI2008
Messages : 34 Points : 5380 Date de naissance : 12/08/1985 Date d'inscription : 27/08/2010 Age : 39 Localisation : laayoune Emploi/loisirs : etudiant
| Sujet: Re: objet de Segement Mer 3 Nov - 16:52 | |
| Mr toto il y a trois type de constructeur par défaut , par initialisation et comment appelle le troisième? merci d'avance | |
|
toto
Messages : 66 Points : 5681 Date de naissance : 24/07/1988 Date d'inscription : 19/02/2010 Age : 36 Localisation : casablanca Emploi/loisirs : hand ball
| Sujet: Re: objet de Segement Mer 3 Nov - 17:09 | |
| de rien j'ai utiliser constructeur par defaut et par initialisation puis accesseur et mutateur pour changer les variable priver qu'on deja defini donc accesseur permet d'acceder aux variable priver et mutateur en ecriture | |
|
TSDI2008
Messages : 34 Points : 5380 Date de naissance : 12/08/1985 Date d'inscription : 27/08/2010 Age : 39 Localisation : laayoune Emploi/loisirs : etudiant
| Sujet: Re: objet de Segement Jeu 4 Nov - 7:27 | |
| - toto a écrit:
- de rien j'ai utiliser constructeur par defaut et par initialisation puis accesseur et mutateur pour changer les variable priver qu'on deja defini donc accesseur permet d'acceder aux variable priver et mutateur en ecriture
mais moi je te veut informe quel troisième type de constructeur | |
|
toto
Messages : 66 Points : 5681 Date de naissance : 24/07/1988 Date d'inscription : 19/02/2010 Age : 36 Localisation : casablanca Emploi/loisirs : hand ball
| Sujet: Re: objet de Segement Jeu 4 Nov - 12:03 | |
| il y a just deux constructeur dans notre cas tu peu faire un notre constructeur si tu veu mais tu dois changer les paramètere par exemple : - Code:
-
Segement(int e1){ extre1=e1; }
donc tu peu faire plusieur constructeur dans la classe | |
|
khalidmaroc1988
Messages : 39 Points : 5507 Date de naissance : 19/11/1988 Date d'inscription : 01/03/2010 Age : 36
| Sujet: Re: objet de Segement Ven 5 Nov - 15:51 | |
| | |
|
toto
Messages : 66 Points : 5681 Date de naissance : 24/07/1988 Date d'inscription : 19/02/2010 Age : 36 Localisation : casablanca Emploi/loisirs : hand ball
| |
Contenu sponsorisé
| Sujet: Re: objet de Segement | |
| |
|