Exercice location de velo
Fermé
InstaDD
Messages postés
30
Date d'inscription
mardi 30 juin 2015
Statut
Membre
Dernière intervention
10 mai 2016
-
Modifié par KX le 21/09/2015 à 18:11
dfsd - 25 sept. 2015 à 00:21
dfsd - 25 sept. 2015 à 00:21
A voir également:
- Location vélo elliptique particulier
- Meilleur site de vente entre particulier - Guide
- Annuaire maroc telecom particulier - Forum telephonie fixe
- Problème console vélo elliptique domyos - Forum PSP
- Vélo appartement care ancien modèle notice ✓ - Forum Loisirs / Divertissements
- Annuaire espagne gratuit particulier - Forum Mobile
3 réponses
Nexii
Messages postés
338
Date d'inscription
jeudi 13 mars 2014
Statut
Membre
Dernière intervention
14 mars 2017
584
21 sept. 2015 à 17:21
21 sept. 2015 à 17:21
Si tu indentais ton code correctement, tu aurais vu l'erreur....
Tu as mal fermé l'un de tes if :
Tu as mal fermé l'un de tes if :
if (debut>7 && fin<= 17){
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
21 sept. 2015 à 18:21
21 sept. 2015 à 18:21
Bonjour,
Pour rappel, il y a des conventions d'écriture en Java.
En particulier : the closing brace should begin a line
Je ne sais pas pourquoi tu mets toutes tes accolades à la fin des lignes, mais c'est illisible, surtout quand l'indentation est incohérente.
Pour le reste, je trouve ton code très compliqué pour un exercice aussi simple. De plus tu ne gères pas le cas où tu prends le vélo tard le soir (22h par exemple) pour le rendre le lendemain matin (7h par exemple).
Pour rappel, il y a des conventions d'écriture en Java.
En particulier : the closing brace should begin a line
Je ne sais pas pourquoi tu mets toutes tes accolades à la fin des lignes, mais c'est illisible, surtout quand l'indentation est incohérente.
Pour le reste, je trouve ton code très compliqué pour un exercice aussi simple. De plus tu ne gères pas le cas où tu prends le vélo tard le soir (22h par exemple) pour le rendre le lendemain matin (7h par exemple).
InstaDD
Messages postés
30
Date d'inscription
mardi 30 juin 2015
Statut
Membre
Dernière intervention
10 mai 2016
21 sept. 2015 à 18:35
21 sept. 2015 à 18:35
dsl je debute et n'ai pas encore toutes les conventions d'écriture en tete !
J'aimerai faire plus simple mais comment ca ???
J'aimerai faire plus simple mais comment ca ???
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
21 sept. 2015 à 18:47
21 sept. 2015 à 18:47
Avec une boucle for ce serait simple.
Tu pars de l'heure de début tu vas jusqu'à l'heure de fin et à chaque heure tu rajoutes le prix de l'heure en cours (ce que ferait un parcmètre mécanique).
Exemple :
Remarque :
Le fait de prendre des heures entières laisse une ambiguïté dans l'énoncé.
Si je dis que je prends le vélo à 10h et que je le rends à 11h est-ce que je paie 1h (de 10h00 à 11h00) ou est-ce que je paie 2h (l'heure 10 et l'heure 11) ?
Dans le code cela changerait la condition
Tu pars de l'heure de début tu vas jusqu'à l'heure de fin et à chaque heure tu rajoutes le prix de l'heure en cours (ce que ferait un parcmètre mécanique).
Exemple :
for (int heure = heureDebutLocation; heure < heureFinLocation; heure++) { if (heure >= debutHeurePleine && heure < debutHeureCreuse) { totalHeurePleine++; } else { totalHeureCreuse++; } }
Remarque :
Le fait de prendre des heures entières laisse une ambiguïté dans l'énoncé.
Si je dis que je prends le vélo à 10h et que je le rends à 11h est-ce que je paie 1h (de 10h00 à 11h00) ou est-ce que je paie 2h (l'heure 10 et l'heure 11) ?
Dans le code cela changerait la condition
heure < heureFinLocationen
heure <= heureFinLocation...
InstaDD
Messages postés
30
Date d'inscription
mardi 30 juin 2015
Statut
Membre
Dernière intervention
10 mai 2016
23 sept. 2015 à 19:52
23 sept. 2015 à 19:52
merci cela fonctionne avec la correction que tu as ajouté tu as bien senti le coup !!
InstaDD
Messages postés
30
Date d'inscription
mardi 30 juin 2015
Statut
Membre
Dernière intervention
10 mai 2016
23 sept. 2015 à 19:57
23 sept. 2015 à 19:57
J'ai une derniere petite question ma condition au début bien que pas belle fonctionne :
Voila ma question, ces conditions doivent provoquées l'arrêt du programme, sauf que je n'ai pas le droit d'utiliser la fonction return .
Quelqu'un pourrait m'expliquer une procédure simple pour arriver au meme resultat ?? merci
if ((debut > 24 || debut < 0) && (fin > 24 || fin < 0) ) {
System.out.println("Les heures doivent être comprises entre 0 et 24 !"); }
Voila ma question, ces conditions doivent provoquées l'arrêt du programme, sauf que je n'ai pas le droit d'utiliser la fonction return .
Quelqu'un pourrait m'expliquer une procédure simple pour arriver au meme resultat ?? merci
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
23 sept. 2015 à 22:03
23 sept. 2015 à 22:03
Il n'y a que 3 manières d'arrêter un programme.
- Terminer la méthode main : soit en exécutant toutes les instructions jusqu'à l'accolade fermante, soit avec un
return;
- Générer une exception
throw new Exception("msg");
et la laisser se propagerthrows Exception
au delà de la méthode main ce qui arrête le programme. - Forcer l'arrêt du programme (déconseillé !) avec un
System.exit(0);
le 0 étant pour indiquer la bonne fin du programme (ce qui n'a pas de sens, vu que si le programme se terminait bien on ne devrait pas avoir à utiliser System.exit), on peut bien sûr mettre autre chose que 0 (ce que l'on veut) pour indiquer un problème, mais une Exception est beaucoup plus parlante...
21 sept. 2015 à 17:29