Commit bcc88ca4 authored by Benjamin Bonnabaud's avatar Benjamin Bonnabaud
Browse files

new

parent 73682abb
File added
public class Bouteille{
private String nom;
private int quantite;
private boolean ouverte;
public Bouteille(String nom, int q, boolean ouverte) { this.nom=nom;quantite=q;this.ouverte=ouverte;}
public Bouteille(String nom, int q) { this.nom=nom;quantite=q;this.ouverte=false;}
public String getNom(){
return nom;
}
public void ouvrir(){
ouverte=true;
}
public void fermer(){
ouverte=false;
}
public int verser(int q){
if (ouverte==false){
System.out.println("Bouteille fermée");
return 0;
}
quantite-=Math.min(q,quantite);
return Math.min(q,quantite);
}
public int verser(Verre v, int q){
int i,d;
if (ouverte==false){
System.out.println("Bouteille fermée");
return 0;
}
i=Math.min(q,quantite);
d=v.getVolumeVide();
quantite-=Math.min(i,d);
v.remplir(Math.min(i,d));
return Math.min(i,d);
}
public String toString(){
return new String("(nom : " + this.nom +", quantite : " + quantite +"ouverte ? "+ ouverte + ")");
}
}
/* En C */
struct Point2D { int x,y; } ;
void translater(struct Point2D pt, int dx, int dy) {
pt->x+=dx;
pt->y+=dy;
}
void afficher(struct Point2D p){
printf("%d %d \n",p.x,p.y);
}
int main() {
struct Point2D p;
p.x=1;
p.y=2;
translater(&p,1,1);
afficher(p);
}
/*
Aucun lien entre la structure de POint et les finctions utiles
Aucune securité sur les acces aux champs x et y
*/
/* En java : une classe = un type, une instance = une variable;
Dans une classe, on trouve a la fois les attributs ET les methodes qui permettent de manipuler les attributs
On peut ajouter des mecanismes de securtié d'accès aux champs
Un objet = responsable de son etat (valeur de ses attributs)
Les constructeurs : des methodes appelee a la creation
*/
/*
2 fichiers : 1 fichier Point2D.java, 1 ficheir TestPoint2D.java
*/
public class Point2D {
public int x;
public int y;
public Point2D() { x=y=0;}
public Point2D(int x0, int y0) { x=x0; y=y0; }
public Point2D(int x) { this->x=x; y=0; }
public translater(int dx, int dy) { // le pointeur this est l'objet sur lequel on travaille
this.x += dx;
this.y += dy; // plus court avec y += dy;
}
public String toString() {
return new String("(" + this->x +"," + y + ")");
}
}
/* Fichier TestPoint2D.java */
public class TestPoint2D {
public static void main(String[] args) {
Point2D p1 = new Point2D();
p1.x=1;
p1.y=2;
p1.translater(1,1);
Point2D p2=null;
p2=p1;
p2.translater(2,3);
System.out.println("p1 : " + p1.toString() ); // System.out.println("p1 : " + p1);
}
}
// Compiler avec javac Point2D.java; javac TestPoint2D.java; java TestPoint2D
File added
public class TestVerre {
public static void main(String[] args) {
Verre v = new Verre(20);
v.remplir(10);
System.out.println("verre : " + v.toString());
v.remplir(15);
System.out.println("verre : " + v.toString());
v.boire(10);
System.out.println("verre : " + v.toString());
v.boire(20);
System.out.println("verre : " + v.toString());
}
}
File added
public class Tp1 {
public static void main(String[] args) {
Bouteille btl1 = new Bouteille("Coca",100);
Bouteille btl2 = new Bouteille("Whisky",75,true);
Verre v = new Verre(20);
btl2.verser(v,5);
System.out.println("verre : " + v.toString() + "\n" + "Bouteille 1 : " + btl1.toString() + "\n" + "Bouteille 2 : " + btl2.toString() + "\n");
btl1.ouvrir(); // à commenter plus tard
btl1.verser(v,15);
System.out.println("verre : " + v.toString() + "\n" + "Bouteille 1 : " + btl1.toString() + "\n" + "Bouteille 2 : " + btl2.toString() + "\n");
btl1.verser(v,10);
System.out.println("verre : " + v.toString() + "\n" + "Bouteille 1 : " + btl1.toString() + "\n" + "Bouteille 2 : " + btl2.toString() + "\n");
btl1.fermer();
btl2.fermer();
v.boire(10);
System.out.println("verre : " + v.toString() + "\n" + "Bouteille 1 : " + btl1.toString() + "\n" + "Bouteille 2 : " + btl2.toString() + "\n");
v.boire(10);
System.out.println("verre : " + v.toString() + "\n" + "Bouteille 1 : " + btl1.toString() + "\n" + "Bouteille 2 : " + btl2.toString() + "\n");
}
}
File added
public class Verre {
private int contenance;
private int quantite;
public Verre(int c) { contenance=c;quantite=0;}
public int getVolumeVide(){
return contenance-quantite;
}
public int getContenance(){
return contenance;
}
public int getQuantite(){
return quantite;
}
public int remplir(int q){
quantite+=Math.min(q,getVolumeVide());
return Math.min(q,getVolumeVide());
}
public int boire(int q){
quantite-=Math.min(q,quantite);
return Math.min(q,getVolumeVide());
}
public String toString(){
return new String("(contenance : " + this.contenance +", quantite : " + quantite + ")");
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment