Tp java

armelk1999 Messages postés 24 Date d'inscription mardi 17 juillet 2018 Statut Membre Dernière intervention 14 avril 2019 - 7 sept. 2018 à 10:54
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 7 sept. 2018 à 11:58
Bonjour, aidez moi avec ce tp s'il vous plait:
TP Java PARTIE I : Pommes de terre, carottes 4 points 1) Dans un paquetage soup1, écrire une classe de lancement (méthode main) soup1.Test dans laquelle figurera le code écrit dans les premières colonnes des tableaux des questions suivantes. 2) Ecrire une classe soup1.Carrot représentant une carotte avec son poids en kilogrammes et sa longueur en centimètres.
Ecrire le code nécessaire afin que les instructions suivantes produisent les affichages indiqués. les lignes de code ci-dessous, Carrot c = new Carrot(0.25, 30) System.out.println(c); produisent l'affichage suivant: Carotte: [0.25 kg - 30 cm]
3) Ecrire une classe soup1.Potatoe représentant une pomme de terre avec son poids en kilogrammes et un nombre de germes (les fameux "yeux").
Ecrire le code nécessaire afin que les instructions suivantes produisent les affichages indiqués. les lignes de code ci-dessous, Potatoe pdt = new Potatoe(0.3, 10); System.out.println(pdt); produisent l'affichage suivant: Patate: [0.3 kg - 10 yeux]
4) La pomme de terre ci-dessus a beaucoup de germes (10 pour un poids de 300 grammes). En règle générale, les pommes de terre ont un germe par tranche de 100 grammes. Ajoutez à la classe Potatoe ce qu'il faut pour créer des pommes de terre qui respectent cette règle générale sans avoir à spécifier explicitement le nombre de germes.
Ecrire le code nécessaire afin que les instructions suivantes produisent les affichages indiqués. les lignes de code ci-dessous, Potatoe pdt1 = new Potatoe(0.3, 10); Potatoe pdt2 = new Potatoe(0.3); Potatoe pdt3 = new Potatoe(0.75); System.out.println(pdt1); System.out.println(pdt2); System.out.println(pdt3); produisent l'affichage suivant: Patate: [0.3 kg - 10 yeux] Patate: [0.3 kg - 3 yeux] Patate: [0.75 kg - 7 yeux]
2
TP Java PARTIE II : Soupe de légumes 10 points 1) Recopier les classes du package soup1 dans un nouveau package soup2, sauf la classe soup1.Test 2) Dans le paquetage soup2, écrire une classe de lancement (méthode main) soup2.Test dans laquelle figurera le code écrit dans les premières colonnes des tableaux des questions suivantes. 3) Comme on risque d'avoir plein de légumes (carottes, pommes de terre, poireaux...) mais que tous auront un poids, on souhaite créer une classe soup2.Vegetable pour "factoriser" cet attribut.
Ecrire le code nécessaire afin que les instructions suivantes produisent les affichages indiqués.
les lignes de code ci-dessous, Vegetable pdt = new Potatoe(0.3, 10); Vegetable c = new Carrot(0.25, 30); System.out.println(pdt); System.out.println(c);
produisent l'affichage suivant:
Patate: [0.3 kg - 10 yeux]
Carotte: [0.25 kg - 30 cm]
4) On veut maintenant définir une classe soup2.Soup représentant une soupe de légumes par l'ensemble de ses ingrédients (les légumes de type Vegetable). Utiliser une tableau afin de stocker les légumes. Une fois qu'une soupe est créée, on lui ajoute chaque légume un par un, grâce à la méthode add oomme illustré ci dessous. A tout moment, on peut demander l'affichage de la soupe.
Écrire dans le paquetage soup2, la classe Soup afin que les instructions suivantes produisent les affichages indiqués. Les lignes de code ci-dessous, Soup s = new Soup(); s.add(new Potatoe(0.3, 10)); s.add(new Carrot(0.25, 30)); System.out.println(s);
s.add(new Potatoe(0.500)); s.add(new Potatoe(0.150)); s.add(new Carrot(0.20, 25)); s.add(new Potatoe(0.450, 2)); System.out.println(s);
Produisent l'affichage suivant:
Soupe - - - - - Patate: [0.3 kg - 10 yeux] Carotte: [0.25 kg - 30 cm]
Soupe - - - - - Patate: [0.3 kg - 10 yeux] Carotte: [0.25 kg - 30 cm] Patate: [0.5 kg - 5 yeux] Patate: [0.15 kg - 1 oeil] Carotte: [0.2 kg - 25 cm] Patate: [0.45 kg - 2 yeux]
3
TP Java
5) Toujours dans la classe Soup, on souhaite avoir une méthode getPeelingWeight() qui donne qui donne le poids des épluchures générées lors de la préparation de cette soupe. Par défaut, le poids d'épluchure des légumes est de 10% de leur poids. Néanmoins, dans le cas particulier des pommes de terre, le poids d'épluchure est ce pourcentage (10%) auquel il faut ajouter 10 grammes par germe (oeil).
Ecrire le code nécessaire afin que les instructions suivantes produisent les affichages indiqués.
Soup s = new Soup(); s.add(new Potatoe(0.3, 10)); s.add(new Carrot(0.25, 30)); System.out.println(s.getPeelingWeight()); // affiche: 0.155
qui correspond à 25g pour la carotte (10% de 0,250kg) et à 130g pour la pomme de terre (30g = 10% de 0,300kg + 100g pour 10g fois 10 germes). Indication : utiliser la redéfinition de méthode
6) On souhaite maintenant que le pourcentage du poids du légume perdu en épluchure (10% par défaut) puisse être paramétré globalement, pour tous les légumes. Ainsi, par exemple, sur la base du code précédent, on souhaite voir la différence de poids d'épluchure d'une soupe entre le paramétrage par défaut (10%) et un paramétrage à 5%...
Ecrire le code nécessaire afin que les instructions suivantes produisent les affichages indiqués. Soup s = new Soup(); s.add(new Potatoe(0.3, 10)); s.add(new Carrot(0.25, 30)); System.out.println(s.getPeelingWeight()); // affiche: 0.155 Vegetable.setPeelingWeight(0.05); System.out.println(s.getPeelingWeight()); // affiche: 0.1275
7) On souhaite pouvoir itérer sur l'ensemble des légumes d'une soupe. Ecrire une nouvelle version de la méthode toString de la classe Soup. Indication : la modification porte sur la boucle dite ''for each''.
4
TP Java PARTIE III : On surveille ses calories 6 points La plupart des aliments, qu'ils soient crus, cuits, nature ou transformés, contiennent des calories. On souhaite maintenant disposer d'un type Quantifiable, modélisé par une interface Java, qui permette d'accéder au nombre de calories d'un aliment donné.
On suppose que: • les carottes contiennent 40 calories pour 100 grammes; • les pommes de terre contiennent 80 calories pour 100, moins 5 calories par germe sur la patate; • le calcul du nombre de calories se fait sur chaque légume en tenant compte du poids des épluchures, et produit un nombre entier (pas un nombre flottant); • on ne peut pas définir le nombre de calories d'un légume sans savoir précisément de quel légume il s'agit; • une soupe contient autant de calories que les légumes qui entrent dans sa composition.
1) Recopier les classes du package soup2 dans un nouveau package soup3, sauf la classe soup2.Test 2) Dans le paquetage soup3, écrire une classe de lancement (méthode main) soup3.Test dans laquelle figurera le code écrit dans les premières colonnes des tableaux des questions suivantes. 3) Ecrire le code nécessaire afin que les instructions suivantes produisent les affichages indiqués (attention: toutes les fonctionnalités décrites dans les deux exercices précédents doivent être maintenues). Il convient de calculer les calories une fois les carottes épluchées et les pommes de terre épluchées et avec leurs retirés.
Potatoe p1 = new Potatoe(0.3, 10); System.out.println(p1.getCalories()); // affiche: 86 Carrot c1 = new Carrot(0.25, 30); System.out.println(c1.getCalories()); // affiche: 90 Soup s = new Soup(); s.add(p1); s.add(c1); System.out.println(s.getCalories()); // affiche: 176
4) Dans quelle(s) classe(s) faut-il modifier la méthode toString afin de pouvoir prendre en compte le nombre de calories pour une pomme de terre, une carotte et une soupe?
5
TP Java
Ecrire le code nécessaire afin que les instructions suivantes produisent les affichages indiqués.
System.out.println(p1); System.out.println(c1); System.out.println(s);
// les objets quantifiables System.out.println("Les quantifiables : "); Quantifiable quantifiables [] = {p1, c1, s}; for (Quantifiable quantifiable : quantifiables){ System.out.println(quantifiable); }
Patate: [86 calories - 0.3 kg - 10 yeux] Carotte: [90 calories - 0.25 kg - 30 cm] Soupe -----176 calories Patate: [86 calories - 0.3 kg - 10 yeux] Carotte: [90 calories - 0.25 kg - 30 cm] ----- Les quantifiables : Patate: [86 calories - 0.3 kg - 10 yeux] Carotte: [90 calories - 0.25 kg - 30 cm] Soupe -----176 calories Patate: [86 calories - 0.3 kg - 10 yeux] Carotte: [90 calories - 0.25 kg - 30 cm] -----
6

1 réponse

Rejoignez-nous