Projet loto
Fermé
TokTokos
-
Modifié le 15 oct. 2020 à 19:35
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 15 oct. 2020 à 20:12
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 15 oct. 2020 à 20:12
1 réponse
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
15 oct. 2020 à 20:12
15 oct. 2020 à 20:12
Bonjour,
L'affichage que tu obtiens est lié au fait que args est vide, il n'y a aucun nombre saisi par l'utilisateur, c'est une vérification que tu devrais faire dès le début du programme.
Pour remplir les valeurs dans args tu peux faire comme ceci :
Evidemment tu as d'autres erreurs ensuite.
Voici un exemple pour le début du programme, où tu dois contrôler les données saisies par l'utilisateur :
L'affichage que tu obtiens est lié au fait que args est vide, il n'y a aucun nombre saisi par l'utilisateur, c'est une vérification que tu devrais faire dès le début du programme.
Pour remplir les valeurs dans args tu peux faire comme ceci :
java Loto 1 2 3 4 5
Evidemment tu as d'autres erreurs ensuite.
Voici un exemple pour le début du programme, où tu dois contrôler les données saisies par l'utilisateur :
public class Loto {
private static final int NOMBRE_MIN_VALEURS = 1;
private static final int NOMBRE_MAX_VALEURS = 5;
private static final int VALEUR_MIN = 1;
private static final int VALEUR_MAX = 50;
private static final String ERREUR_SAISIE = String.format("Vous devez saisir entre %d et %d nombres entiers, tous différents, compris entre %d et %d.",
NOMBRE_MIN_VALEURS, NOMBRE_MAX_VALEURS, VALEUR_MIN, VALEUR_MAX);
public static void main(String[] args) {
final int nombreValeursChoisies = args.length;
if (nombreValeursChoisies < NOMBRE_MIN_VALEURS || nombreValeursChoisies > NOMBRE_MAX_VALEURS) {
System.err.println(ERREUR_SAISIE);
System.err.println("Erreur : " + nombreValeursChoisies + " valeurs saisies !");
return;
}
int[] valeursChoisies = new int[nombreValeursChoisies];
for (int i = 0; i < nombreValeursChoisies; i++) {
int valeurChoisie;
try {
valeurChoisie = Integer.parseInt(args[i]);
} catch (Exception exception) {
System.err.println(ERREUR_SAISIE);
System.err.println("Erreur : " + args[i] + " n'est pas un nombre entier");
return;
}
if (valeurChoisie < VALEUR_MIN || valeurChoisie > VALEUR_MAX) {
System.err.println(ERREUR_SAISIE);
System.err.println("Erreur : " + valeurChoisie + " n'est pas valide");
return;
}
for (int j = 0; j < i; j++) {
if (valeursChoisies[j] == valeurChoisie) {
System.err.println(ERREUR_SAISIE);
System.err.println("Erreur : " + valeurChoisie + " est saisi plusieurs fois");
return;
}
}
valeursChoisies[i] = valeurChoisie;
}
// une fois que tout est vérifié tu peux commencer le programme
}
}