Correction-TD1 - Généricité - Collection (1) - Copie

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 7

Correction TD2

Exercice1
[3, 5, 3, 12, 3]
[3, 5, 3, 3]
[5, 3, 3]
[5]

Exercice2
Erreur à la ligne 16 : ArrayList<Base> l2 = l1;
Incompatibles types ArrayList<Derivée> cannot be converted to ArrayList<Base>

Exercice3
L2DSI
44

Exercice4
package TD2;
import java.util.ArrayList;
class Noeud<E> {
E valeur;
Noeud<E> suivant;

public Noeud(E val) {


valeur = val;
}

public void setSuivant(Noeud<E> next) {


suivant = next;
}
}

1
class ListChainee <E> {
Noeud<E> premier;
public ListChainee() {
premier = null;
}
public void add(E val) {
Noeud<E> nouveau = new Noeud < E > (val);
if (premier == null) {
premier = nouveau;
} else {
Noeud<E> dernier = premier;
while (dernier.suivant != null) {
dernier = dernier.suivant;
}
dernier.suivant = nouveau;
}
}
public Noeud<E> get(int index) {
int i = 0;
Noeud<E> courant = premier;
while (courant.suivant != null && i < index) {
i++;
courant = courant.suivant; }
if (index == i)
return courant;
else return null; }
public String toString() {
String ch="";
Noeud<E> courant = premier;
while (courant.suivant != null ) {

2
ch+=courant.valeur+" ";
courant = courant.suivant;
}return ch+courant.valeur;
}
}

class TestListeChainée {
public static void main(String[] args) {
ListChainee <Integer> L = new ListChainee <Integer>();
L.add(5);L.add(7);
System.out.println(L.toString());
}
}

Exercice5
package td2_2021;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.TreeSet;
enum typeProduit {
normale,extrat
}

class Produit {
private int codeProd;
private typeProduit typeProduit;
private float prix;

public Produit(int codeProd, typeProduit typeProduit, float prix) {

3
this.codeProd = codeProd;
this.typeProduit = typeProduit;
this.prix = prix;
}

public int getCodeProd() {


return codeProd;
}

public typeProduit getTypeProduit() {


return typeProduit; }
@Override
public boolean equals(Object o) {
if(o instanceof Produit){
Produit p = (Produit) o;
if(this.codeProd==p.codeProd){
return true;
}}
return false;
}
@Override
public int hashCode() {
return codeProd;
}
@Override
public String toString() {
return codeProd + " "+ typeProduit+ " " + prix ;
}
}
class Commande implements Comparable<Commande> {

4
private int codeCom;
private HashSet<Produit> listeProd;
private Date datecomd;

public Commande(int codeCom) {


this.codeCom = codeCom;
this.listeProd = new HashSet<Produit>();
this.datecomd= new Date(); }
public void ajoutProduit(Produit p){
this.listeProd.add(p); }
public boolean equals(Object o){
Commande c=(Commande)o;
if(c.codeCom==this.codeCom)
return true;
else return false;
}

public LinkedList<Produit> getListeProd() {


return new LinkedList<Produit>(this.listeProd);
}

public int getCodeCom() {


return codeCom;
}
@Override
public int compareTo(Commande c) {
if(this.codeCom>c.codeCom){
return 1;
}
if (this.codeCom<c.codeCom){

5
return -1;
}
return 0;
} }
public class Stockage {
private int codeStockage;
private String ville;
private TreeSet<Commande> listeCommande;

public Stockage(int codeStockage, String ville) {


this.codeStockage = codeStockage;
this.ville = ville;
this.listeCommande = new TreeSet<Commande>();
}
public void ajouterComm(Commande c){
this.listeCommande.add(c);
}
public LinkedList<Produit> chercherProduit(int numc){
Commande c;
Iterator<Commande> it=this.listeCommande.iterator();
while(it.hasNext()){
c=it.next();
if(c.getCodeCom()==numc)
return c.getListeProd();
}
return null; }
public LinkedList<Produit> chercherExtratProduit(int numc){
LinkedList<Produit> l= this.chercherProduit(numc);
for(Produit p : l){
if(p.getTypeProduit()==typeProduit.normale){

6
l.remove(p);
} } return l;}
public int getCodeStockage() {
return codeStockage;
}
}

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy