Vous êtes sur la page 1sur 7

Correction TP3

EXERCICE 1 :

package Projet1;

public class Point {


private double x,y;

Point(double x, double y) {
this.x=x;
this.y=y;
}
public void decaler (double x, double y) {
this.x+=x;
this.y+=y;
}
public void afficher () {
System.out.println("x : "+x+" y : "+y);

}
}

---------------------------------------------------------------------

package Essai;

import java.util.Scanner;

public class Test {


static Scanner input = new Scanner(System.in);

public static void main (String[] args)


{
// a et b sont les coordonnées du point
double a,b ;

//creation d'un tableau Pt de points et affichage


System.out.println("donner la taille du tableau des points ?");

int nb = input.nextInt();
Point[] P = new Point[nb];

//Remplissage du tableau Pt par des valeurs


for(int i=0;i<P.length;i++)
{
System.out.println("donnez les cordonnées du point " +i);
//saisie des coordonnées a et b à partir du clavier
a = input.nextFloat();
b = input.nextFloat();
P[i] = new Point(a,b);

}
//Affichage du contenu du tableau
for(int i=0;i<P.length;i++)
{
P[i].afficher();

}
EXERCICE 2 (correction version 1)

/***********************Class Personne*************************/
package serie3;
import java.util.Date;
public class Personne {
private String nom;
private String prenom;
private char sexe;
private int datnais;
private String etatc;
private boolean conjoint;
public Personne (String nom,String prenom,char sexe,int datnais,String
etatc, boolean conjoint)
{ this.nom=nom;
this.prenom=prenom;
this.sexe=sexe;
this.datnais=datnais;
this.etatc=etatc;
this.conjoint=conjoint;
}
public void retourneInfos()
{ if(sexe=='m')
System.out.println("M. "+nom+" "+prenom+" est né en "+datnais+", il
est"+ etatc);

else
{
if(etatc=="célibataire")
System.out.println("Mlle. "+nom+" "+prenom+" est née en "+datnais+"
elle est célibataire");
else
.out.println("Mme. "+nom+" "+prenom+" est née en "+datnais+" elle
est"+ etatc);
}
}

public int age ()


{ return(2019-this.datnais); }

public void marier ( Personne p)


{
if ((this.conjoint==false)&&(p.conjoint==false))
{this.conjoint=true;
p.conjoint=true;
p.nom=this.nom+p.nom;
this.etatc="marié";
p.etatc="mariée";
}
else
System.out.println("le mariage ne peut pas s'aboutir");
}
}
/***********************Class Testpersonne*************************/
package serie3;
public class Testpersonne {
public static void main(String [] args)
{
Personne p1,p2;
p1= new Personne("allani","ali",'m',1981,"célibataire",false);
p2= new Personne("weslati","wafa",'f',1991,"célibataire",false);
System.out.println("*******les info avant mariage**********");
p1.retourneInfos();
p2.retourneInfos();
System.out.println("l age de la premiere personne "+p1.age());
System.out.println("l age de la euxième personne "+p2.age());
System.out.println("*******les info aprés mariage**********");
p1.marier(p2);
p1.retourneInfos();
p2.retourneInfos();
}
}

EXERCICE 2 (correction version 2 : saisie des données à


partir du clavier )

package serie3;

import java.util.Date;

public class Personne {


private String nom;
private String pren;
private String sexe;
private int an;
private String etatC;
boolean conjoint;
Personne(String nom,String pren,String sexe,int an, String etatC )
{this.nom=nom;
this.pren=pren;
this.sexe=sexe;
this.an=an;
this.etatC=etatC;
if(etatC.compareTo("celibataire")==0||etatC.compareTo("veuf")==0)
this.conjoint=false;
else
this.conjoint=true;

}
public void retourneInfos()
{String ch;
if (sexe.compareTo("male")==0)
ch="M.";
else if (sexe.compareTo("femelle")==0&&conjoint==false)
ch="Mlle. ";
else
ch="Mme. ";

System.out.println(ch+ pren+" "+nom +" est né en " +an +" , il est "+etatC
);

}
//calcul de l'age du personne
public int age(Personne P)
{
//Recuperer l'année de ladatesystème
Date d = new Date();
int year = Integer.valueOf(String.format("%1$tY",d));
System.out.println("----"+year);
return year -P.an;
}
public void marier(Personne p1,Personne p2)
{
if (p1.conjoint==false && p2.conjoint==false )
{
if
((p1.sexe.compareTo("femelle")==0)&&(p2.sexe.compareTo("male")==0))
{p1.pren=p2.pren+p1.pren;
p1.conjoint=true ;
p1.etatC="marié";
p2.etatC="marié";
p2.conjoint=true ;
}
else
if
((p2.sexe.compareTo("femelle")==0)&&(p1.sexe.compareTo("male")==0))
{
p1.conjoint=true ;
p1.etatC="marié";
p2.etatC="marié";
p2.conjoint=true ;
p2.pren=p1.pren+p2.pren;

}}
else
System.out.println ("mariage impossible");

}
}

package serie3;

import java.util.Scanner;
public class Test {
//déclaration
public static String nom ,prenom , sexe ,etat_civil;
public static int annee;
static Scanner sc = new Scanner(System.in);
//methode saisie_Clavier pour la saisie du clavier
public static void saisie_Clavier()
{

System.out.println("saisir le nom ");


nom=sc.nextLine();
System.out.println("saisir le prenom ");
prenom=sc.nextLine();

do
{
System.out.println("saisir le sexe tapez :male/femelle");
sexe=sc.nextLine();
}while((sexe.compareTo("male")!=0 )&&
(sexe.compareTo("femelle")!=0));

do
{
System.out.println("saisir l'annee ");
annee=sc.nextInt();
}while(annee<0);
sc.nextLine();
do
{
System.out.println("saisir l'etat civil
:celibataire/marié/veuf ");
etat_civil=sc.nextLine();
}while(etat_civil.compareTo("celibataire")!=0&&etat_civil.compareTo("marié"
)!=0&&etat_civil.compareTo("veuf")!=0);
}
//Methode main
public static void main(String[] args) {

//instances et saisie des données


saisie_Clavier();

Personne p1=new Personne( nom, prenom,sexe,annee, etat_civil


);

System.out.println("saisir le nom du deuxieme personne");


saisie_Clavier();
Personne p2=new Personne( nom, prenom,sexe,annee, etat_civil
);

//affichage des infos


p1.retourneInfos();

p2.retourneInfos();
System.out.println ("l'age du personne1 :"+p1.age(p1)+"l'age du
personne 2 :"+p2.age(p2));
//marier
p1.marier(p1,p2);

//mise a jour des infos et affichage


p1.retourneInfos();
p2.retourneInfos();

}
}

Exercice 3
package Exercice3;
public class Date {
private int annee;
private int mois;
private int jour;
private String[] nomsDesMois = { "janvier", "fevrier", "mars", "avril",
"mai",
"juin", "juillet", "août", "septembre", "octobre", "novembre",
"decembre" };
public Date(int jour, int mois, int annee) {
boolean dateInvalide = mois < 1 || mois > 12
|| jour < 1 || jour > 31
|| jour == 31 && (mois == 4 || mois == 6 || mois == 9 ||
mois == 11)
|| jour == 30 && mois == 2
|| jour == 29 && mois == 2 && annee % 4 != 0;
if (dateInvalide) {
System.out.println("Date incorrecte");
System.exit(0);
}
else
{
this.jour = jour;
this.mois = mois;
this.annee = annee;
}
}
public int getJour() {
return jour;
}

public int getMois() {


return mois;
}

public int getAnnee() {


return annee;
}

public String toString() {


return " " + jour + "/"
+ nomsDesMois[mois - 1] + "/" + annee;
}

public boolean infeg(Date d) {


return (annee < d.annee) || (annee == d.annee && mois < d.mois)
||( annee == d.annee && mois == d.mois && jour <= d.jour);
}

}
package Exercice3;

public class TestDate {


public static void main(String[] args) {
Date d1 = new Date(8, 12, 2019);

System.out.println ("la première date :");


System.out.println(d1.getJour()+"-"+ d1.getMois()+"-
"+d1.getAnnee());
System.out.println(d1);
Date d2 = new Date(10, 7, 2001);
System.out.println ("la deuxieme date :");
System.out.println(d2.getJour()+"-"+ d2.getMois()+"-
"+d2.getAnnee());
System.out.println(d2);

if(d1.infeg(d2)==true)
System.out.println(d1+ " est anterieur à " + d2);
else
System.out.println(d2+ " est anterieur à " + d1);
}
}

Vous aimerez peut-être aussi