Je suis un cours de Java et nous n'avons pas encore officiellement appris les instructions if. En étudiant, j'ai vu cette question :
Écrivez une méthode appelée pay qui accepte deux paramètres : un nombre réel pour le salaire d'un TA, et un nombre entier pour le nombre d'heures que le TA a travaillé cette semaine. La méthode doit retourner le montant à payer au TA. Par exemple, l'appel pay(5,50, 6) devrait donner 33,0. Le TA doit recevoir une rémunération pour "heures supplémentaires" égale à 1,5 fois le salaire normal pour toutes les heures au-delà de 8. Par exemple, l'appel paye(4.00, 11) devrait donner (4.00 * 8) + (6.00 * 3) ou 50.0.
Comment résoudre ce problème sans utiliser les instructions if ? Pour l'instant, j'ai réussi, mais je suis bloqué sur la rémunération régulière :
public static double pay (double salary, int hours) {
double pay = 0;
for (int i = hours; i > 8; i --) {
pay += (salary * 1.5);
}
}
12 votes
Si vous avez déjà appris les boucles mais pas les déclarations if (ce qui est bizarre d'ailleurs) vous pouvez utiliser
for(; condition; ) { …; break; }
commeif (condition) { … }
6 votes
@Bergi : c'est vrai, si c'est censé être une énigme où le questionneur a les mains liées, alors c'est une bonne façon de les délier en respectant les règles. Si ce n'est pas censé être ce genre d'énigme, alors sans savoir ce qu'il faut faire a J'ai un peu de mal à comprendre la réponse attendue par le professeur de l'auteur de la question. J'espère que no que. Il y a quelques bonnes suppositions dans les réponses :-)
1 votes
Je ne comprends pas bien pourquoi on s'agite autour du fait de ne pas utiliser une
if
déclaration. Je vois la question et je me dis : pourquoi utiliser uneif
mais cela ne fait que rendre mon code plus long/plus compliqué. Lorsque j'utiliseif
Je dois effectivement recréermin
ymax
. Ce type de calcul est ce quemin
ymax
sont destinés. Dans de nombreuses situations (par exemple, une feuille de calcul), ils sont définitivement la solution préférée.6 votes
J'ai du mal à comprendre pourquoi on demande de résoudre ce problème sans expliquer
if
mais ayant expliquéfor
les boucles et les fonctions (avec arguments). Pourquoi ne pas expliquer d'abord les choses les plus basiques ? Perplexe.3 votes
Tu ne viens pas de manquer un cours ? Les boucles avant les ifs sont vraiment bizarres.