Exercices de Programmation Orientée Objet en Java - MIS
A quel affichage conduit l'exécution du programme (éventuellement corrigé)? class Test { int i;. Test(Test t) { if(t == null) this.i = ...
Part of the document
Exercice 3.1 - solution : dans la classe Machin, ligne 4, la méthode doit être déclarée abstract. Dans la
classe Bidule, la méthode bidule() n'est pas concrétisée (et la classe n'est pas abstraite).
Exercice 3.2 - solution : le code compile sans problème.
Exercice 3.3 - solution : 3e ligne, il faut initialiser i, qui est une constante (non modifiable). 7e ligne, la
méthode doit ne rien retourner.
Exercice 3.4 - solution : le code compile sans problème.
Exercice 3.5 - solution : ligne 15, Toto est une classe abstraite donc non instanciable. Ligne 23, il n'y a
pas de super constructeur sans paramètre dans Toto. Ligne 27, le i de Toto est privé, donc invisible ici.
Une fois corrigé, l'affichage est 2, 1.
Exercice 3.6 - solution :
public interface List {
public Comparable get(int i);
public void swap(int i, int j);
}
public interface Comparable {
public int compare(Comparable o);
}
public void quickSort(List tab, int a, int b) {
int pivot;
if (b > a) {
pivot = a;
for (int i = a+1; i p.force) p.pointsVie=0;
}
}
public interface Localisable{
public int getX();
public int getY();
public void bouge(int dx, int dy);
}
public class Jedi extends CoteLumineux{
private java.awt.Color sabre;
public Jedi(String n, int p, Color c){
retour au sommaire
super(n,p);
this.sabre = c;
}
public void deplacer(Localisable l, int dx, int dy){
if(this.pointsVie>=10) l.bouge(dx,dy);
}
}
Question e : on créer une interface Rencontre qui ne contient qu'une méthode public void
rencontre(Personnage p) et deux classes RencontreLumineux et RencontreObscur qui implémentent
Rencontre des deux façons prévues. Dans la classe Personnage, on ajoute un attribut de type Rencontre
et on modifie la méthode rencontre pour qu'elle appelle celle de l'attribut.
Exercice 5. 10 - solution :
a.
public interface TabAsso{
public boolean put(Ordonnable o, ObjetNomme on);
public ObjetNomme get(Ordonnable o);
public boolean remove(ObjetNomme on);
public boolean contains(ObjetNomme on);
public int size();
}
b.
import java.util.ArrayList;
public class ListTabAsso implements TabAsso{
class Paire{
private ObjetNomme on;
private Ordonnable o;
Paire(ObjetNomme on, Ordonnable o){
this.on = on; this.o = o;
}
}
private ArrayList tab;
public ListTabAsso(){
this.tab = new ArrayList();
}
private boolean contains(Ordonnable o){
for(Paire p:this.tab){
if(p.o==o) return true;
}
return false;
}
public boolean put(Ordonnable o, ObjetNomme on){
if(this.contains(o)) return false;
else this.tab.add(new Paire(on,o));
retour au sommaire
return true;
}
public ObjetNomme get(Ordonnable o){
for(Paire p:this.tab){
if(p.o==o) return p.on;
}
return null;
}
public boolean remove(ObjetNomme on){
Paire x = null;
for(Paire p:this.tab){
if(p.on==on) x = p;
}
if(x!=null){
this.tab.remove(x);
return true;
}
else return false;
}
public boolean contains(ObjetNomme on){
for(Paire p:this.tab){
if(p.on==on) return true;
}
return false;
}
public int size(){
return this.tab.size();
}
public static void main(String[] t){
ListTabAsso tab = new ListTabAsso();
}
}
c.
public static void main(String[] t){
ListTabAsso tab = new ListTabAsso();
ObjetNomme on = new ObjetNomme();
tab.put(new Ordonnable(),on);
System.out.println("taille "+tab.size());
tab.remove(on);
}
d.
public interface TabAssoLimite extends TabAsso{
public int getTailleMax();
}
retour au sommaire
e.
import java.util.ArrayList;
public class ListTabAssoLimite extends ListTabAsso implements TabAssoLimite{
private int max;
public ListTabAssoLimite(int tailleMax){
super();
this.max = tailleMax;
}
public int getTailleMax(){
return this.max;
}
public boolean put(Ordonnable o, ObjetNomme on){
if(this.size()==this.max) return false;
else return super.put(o,on);
}
}
Exercice 5. 11 - solution :
package database;
public interface Value extends Comparable{
public int compareTo(Value v);
public String toString();
public Value copy();
}
package database;
public class Key implements Value{
private int i;
public Key(int i){
this.i=i;
}
public int compareTo(Value v){
if(v instanceof Key) return this.i-((Key) v).i;
else throw new ClassCastException();
}
public String toString(){
return this.i+"";
}
public Value copy(){
return new Key(this.i);
}
public Key next(){
return new Key(this.i+1);
}
public Key previous(){
return new Key(this.i-1);
retour au sommaire
}
}
package database;
import java.util.List;
import java.util.ArrayList;
public class Table{
protected String[] ids;
protected ArrayList rows;
protected Table(){
this.ids = new String[0];
this.rows = new ArrayList();
}
public Table(List cols){
this.ids = new String[cols.size()];
int i = 0;
for(String s:cols){
this.ids[i] = s;
i++;
}
this.rows = new ArrayList();
}
protected void setIDs(List cols){
this.ids = new String[cols.size()];
int i = 0;
for(String s:cols){
this.ids[i] = s;
i++;
}
this.rows = new ArrayList();
}
public void addRow(List l){
Value[] t = new Value[this.ids.length];
int i = 0;
for(Value v:l){
t[i] = v;
i++;
}
this.rows.add(t);
}
public void removeLastRow(){
this.rows.remove(this.rows.size()-1);
}
protected int getIndex(String id){
for(int i=0;i=minX && p.x=minY && p.y
Exercices corrigés de programmation OO Java - Technologue pro I. Avant de programmer en Java. Le JDK de Sun (Java Development Kit) est l'?outil essentiel pour programmer en Java. Il permet la compilation, le débogage et?
Corrigés Exercice I-3 : Observer et comprendre la structure d'un programme Java. Corrigé public class Carre { // Donner un nom à la classe public static void main(String
CORRIGÉ DES EXERCICES DE L'OUVRAGE La programmation orientée objet CORRIGÉ DES EXERCICES DE L'OUVRAGE Dans le code C#, et au contraire de Java, une méthode statique ne peut être appelée sur autre chose que la.
1 Corrigé de Examen Programmation par les Objets en Java ... - EMI Certaines corrections sont détaillées plus qu'il n'a été demandé. Exercice 1) Un fichier Salut.java contient le texte suivant class Salut { static public void main(
TD : Compilation d'exercices et d'extraits d'examens S'il ne l'est pas proposez une correction. A.java. B.java public class A { public class B extends A{ public int
TD 1 et 2 Java : La prise en main de Java et Eclipse, Eléments du ... Exercice 1 : Objectifs : Prise en main d'Eclipse. Durée 1H. Ecrire en Java un programme qui édite sur la console « Bonjour Monde ». A cette fin on utilisera
Corrigés des premiers exercices sur les classes - Dept Info Cnam Vous mettrez le code java correspondant à cette question dans la méthode main d'une nouvelle classe appelée TesteCompte. Vous compilerez et testerez ce
Exercices en Java: 175 exercices corrigés - Couvre Java 8 (Noire ... 175 exercices corrigés pour maîtriser Java. Conçu pour les étudiants en informatique