A voir également:
- Demander à l'utilisateur d'entrer une valeur java
- Rechercher ou entrer l'adresse - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Entrer les informations d'identification reseau - Guide
- Java apk - Télécharger - Langages
3 réponses
jordane45
Messages postés
38347
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 décembre 2024
4 719
31 janv. 2020 à 21:40
31 janv. 2020 à 21:40
Bonjour,
Commence par lire ceci :
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
Puis reviens nous voir avec le code que tu auras essayé en expliquant en détail sur quel point précis tu bloques.
Commence par lire ceci :
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
Puis reviens nous voir avec le code que tu auras essayé en expliquant en détail sur quel point précis tu bloques.
je vous en remercie!!! en effet, je vais mettre mes programmes ici en bas mais avant d'envoyer j'ai voulais comparer mon programme avec celle de la volontiers,
voici l’exercice:
Le but de cet exercice est de déterminer la date des Pâques (chrétiennes gré go-riennes) : on demande à l’utilisateur d’entrer une année et le programme affiche la date de Pâques de l’année correspondante.
Par exemple :Entrez une annee (1583-4000) :
2006
Date de Pâques en 2006 : 16 avril
On vous demande pour cela d’écrire une classePaquesqui contient trois mé-thodes :1. une méthode static que demanderAnneequi ne prend pas d’argument etretourne un entier ; cette méthode doit :— demander une année à l’utilisateur(message : «Entrez une annee (1583-4000) :»
, voir l’exempled’affichage ci-dessus) ;
tant que l’année entrée n’est pas conforme,cette méthode devra reposer la question.5
— vérifier que l’année saisie est bien entre 1583 et 4000 ;
sinon redeman-der ;— retourner l’année (correcte) saisie
Alors je crois bien que ma méthode demande bien de entrer une valeur à l'utilisateur mais pas sur qu'il fasse entre tel nombre et tel et si vous arrivez à me dire pour quoi il ne retourne pas une valeur mais comme c'est écrit sans me donner la réponse;)
à remarquer c'est une partie de mon programme donc c'est parce que je souhaite tester à la fois une.
voici l’exercice:
Le but de cet exercice est de déterminer la date des Pâques (chrétiennes gré go-riennes) : on demande à l’utilisateur d’entrer une année et le programme affiche la date de Pâques de l’année correspondante.
Par exemple :Entrez une annee (1583-4000) :
2006
Date de Pâques en 2006 : 16 avril
On vous demande pour cela d’écrire une classePaquesqui contient trois mé-thodes :1. une méthode static que demanderAnneequi ne prend pas d’argument etretourne un entier ; cette méthode doit :— demander une année à l’utilisateur(message : «Entrez une annee (1583-4000) :»
, voir l’exempled’affichage ci-dessus) ;
tant que l’année entrée n’est pas conforme,cette méthode devra reposer la question.5
— vérifier que l’année saisie est bien entre 1583 et 4000 ;
sinon redeman-der ;— retourner l’année (correcte) saisie
public static int ndemanderAnnee() { Scanner key = new Scanner(System.in); do { System.out.println("Entrez une annee (1583-4000)"); annee =key.nextInt(); }while(annee<4000 && annee<1583); return annee; }
Alors je crois bien que ma méthode demande bien de entrer une valeur à l'utilisateur mais pas sur qu'il fasse entre tel nombre et tel et si vous arrivez à me dire pour quoi il ne retourne pas une valeur mais comme c'est écrit sans me donner la réponse;)
à remarquer c'est une partie de mon programme donc c'est parce que je souhaite tester à la fois une.
tarek_dotzero
Messages postés
817
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
12 avril 2022
121
3 févr. 2020 à 01:16
3 févr. 2020 à 01:16
Bonjour,
Revérifiez votre condition, en traduisant une boucle de type "Répéter ... Jusqu'à" en algorithmique à une boucle de type "do...while" la condition doit être inversée.
Revérifiez votre condition, en traduisant une boucle de type "Répéter ... Jusqu'à" en algorithmique à une boucle de type "do...while" la condition doit être inversée.
shishay
>
tarek_dotzero
Messages postés
817
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
12 avril 2022
3 févr. 2020 à 11:13
3 févr. 2020 à 11:13
Mercie bien!
Je fais celle-ci, mais ça pose plus alorsque je entre un nombre inferrière de 1583?
est ce que c'est le opérateur qui doit être l'inverse( &&)? comme celle-ci(||)?
ou bien la condition doit être que while mais pas do ..while? lorsque vous dites l'inversée?
Je fais celle-ci, mais ça pose plus alorsque je entre un nombre inferrière de 1583?
public static int ndemanderAnnee() { Scanner key = new Scanner(System.in); do { System.out.println("Entrez une annee (1583-4000)"); annee =key.nextInt(); }while(annee>4000 && annee<1583); return annee; }
est ce que c'est le opérateur qui doit être l'inverse( &&)? comme celle-ci(||)?
ou bien la condition doit être que while mais pas do ..while? lorsque vous dites l'inversée?
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
>
shishay
4 févr. 2020 à 13:29
4 févr. 2020 à 13:29
Bonjour,
Effectivement il y a une confusion entre les opérateurs OU
Il faut écrire le code comme à l'oral : "Faire (...) tant que l'année est inférieure à 1583 ou supérieure à 4000."
Remarque : dans le code, où est déclarée la variable
De plus, ton code ne gère pas le cas où l'utilisateur tape autre chose qu'un nombre, par exemple un mot...
Effectivement il y a une confusion entre les opérateurs OU
||est le contraire de ET
&&, aucun nombre ne peut-être à la fois inférieur à 1583 et supérieur à 4000, c'est l'un ou l'autre.
Il faut écrire le code comme à l'oral : "Faire (...) tant que l'année est inférieure à 1583 ou supérieure à 4000."
do { ... } while (annee < 1583 || annee > 4000);
Remarque : dans le code, où est déclarée la variable
annee? Ce devrait être une variable locale dont la portée ne dépasse pas celle de la méthode, ici elle est probablement static ce qui va entraîner des effets de bords dans le reste du programme.
De plus, ton code ne gère pas le cas où l'utilisateur tape autre chose qu'un nombre, par exemple un mot...
Hello,
Et mtn, ce que ça vous sembles correct la partie demander un nombre entre tel et tel?
et le variables annee est static car je vais l'utiliser une fois que cette méthode marche bien l'exercie va contienuer...
donc le faite qu'il soit globale, c'est fait éxprer pour en suite l'utiliser à d'autre méthode, ou bien je deverait appeller juste la méthode ndemanderAnnee()?
pour la vérification de saisire que un entier, corrigez-moi svp ce-ci:
Et mtn, ce que ça vous sembles correct la partie demander un nombre entre tel et tel?
public static int ndemanderAnnee()
{
Scanner key = new Scanner(System.in);
do {
boolean chiffre=false;
System.out.println("Entrez une annee (1583-4000)");
annee =key.nextInt();
}while( annee<1583 || annee>4000);
return annee;
}
et le variables annee est static car je vais l'utiliser une fois que cette méthode marche bien l'exercie va contienuer...
donc le faite qu'il soit globale, c'est fait éxprer pour en suite l'utiliser à d'autre méthode, ou bien je deverait appeller juste la méthode ndemanderAnnee()?
pour la vérification de saisire que un entier, corrigez-moi svp ce-ci:
try { int teste = Integer.parseInt(annee); chiffre = true; // si ton exécution arrive jusque là, ça signifie qu'il n'y a aucune exception lancée et que ta saisie est donc bien un chiffre } catch(NumberFormatException e) { System.out.println("Cette valeur n'est pas un chiffre, essaie encore !"); }