Bonjour j'suis en L1 INFO, et j'ai plein de petit exercice disponible pour apprendre la java et y'en a un où je suis bloqué alors si vous pouviez m'aider, merci.
Enoncé:
Alice, directrice d'une école à Wy-dit-Joli-Village, souhaite réserver un hôtel pour les n élèves de l'école, dans le cadre d'une sortie pédagogique.
Une chambre avec deux lits jumeaux coûte 60€ (pour deux personnes), tandis qu'une chambre simple coûte 40€ (pour une personne).
Sachant qu'il y a seulement nbTwin chambres doubles disponibles et nbSimple chambres simples disponibles, Alice souhaiterait savoir s'il y a effectivement assez de place dans l'hôtel, et si oui, quel est le prix minimal qu'elle devra payer pour loger ses n élèves.
Les personnels encadrants (dont Alice) seront évidemment logés dans des suites (toujours disponibles, et dont le prix n'est pas à prendre en compte).
Compléter la fontion getHotelPrice qui prend en paramètre les trois entiers n, nbTwin et nbSimple, et qui retourne le prix minimal qu'Alice devra payer pour loger ses n élèves, ou -1 s'il n'y a pas assez de place dans l'hôtel.
class Hotel {
public static int getHotelPrice(int n, int nbTwin, int nbSimple) {
/// Dojo:Q1 [NE PAS MODIFIER CETTE LIGNE]
int z;
int y;
int i;
int p;
if(nbTwin + nbSimple < n) {
return (-1);
}
else {
z = (n - nbSimple);
i = (n - nbSimple) * 40;
y = z * 60;
i + y = p;
return (p);
}
System.out.println (p);
showNewLine ();
/// Dojo:End [NE PAS MODIFIER CETTE LIGNE]
}
public static void main(String[] args) {
}
}
--------------------------------------------
Donc j'ai essayé ça mais ça me met l'erreur suivante:
--------------------------------------------
HotelCorrector.java:33: error: unexpected type
i + y = p;
^
required: variable
found: value
1 error
La compilation a échoué.
Hors-Charte De toute façon, ça fausse les résultat car il sont alors remis à zéros.
Cool je savais pas, merci. Du coup la ça compile.
Il me dit que la première partie avec le (if) est correct mais pour le reste il doit y avoir un problème au niveau des calculs du coup j'pense pouvoir le faire.
Merci
Si jamais tu n'as toujours pas réussi voici un copier coller d'une des solutions de l'exercice trouver par un esprit brillant ;)
Bonne journée
class Hotel {
/**
* getHotelPrice(n, nbTwin, nbSimple) calcule le prix minimal pour loger les élèves
*
* @param n
* Le nombre d'élèves (strictement positif)
* @param nbTwin
* Le nombre de chambres avec deux lits jumeaux (à 60€ pour deux personnes)
* (positif ou nul)
* @param nbSimple
* Le nombre de chambres simple (à 40€ pour une personne)
* (positif ou nul)
* @return
* -1 s'il n'y a pas assez de place, ou le prix minimal à payer sinon
*/
public static int getHotelPrice(int n, int nbTwin, int nbSimple) {
/// Dojo:Q1 [NE PAS MODIFIER CETTE LIGNE]
// Ecrire ici la reponse à Q1
int x = nbTwin;
int y = nbSimple;
while (x>0 & n>1){
n = n - 2;
x --;
}
if (n>=1){
while (y>0 & n>0){
n = n - 1;
y --;
}
if (n>0){
return (-1);
}else{
x = (nbTwin - x);
y = (nbSimple - y);
return ((x*60)+(y*40));
}
}else{
x=(nbTwin - x);
return (x*60);
}
/// Dojo:End [NE PAS MODIFIER CETTE LIGNE]
}
public static void main(String[] args) {
}
}
Ps : si tu veux la suite des éxos hésite pas
"plein de petit exercice disponible pour apprendre la java"
https://www.youtube.com/watch?v=ERWH9HliDMQ
Ça veut dire quoi "/// Dojo:Q1" ?
Ca sent le marqueur pour vérification automatique.