Bonjour, Je suis coincé sur un simple exercice Java, j'espère que quelqu'un peut vous aider. Désolé, si c'est vraiment simple, je suis un débutant java.Analyser java main args [] erreurs de tableau
Ce que je vais avoir du mal avec: si l'utilisateur entre une chaîne autre que « l'aide » tels que « foo » j'obtiens l'erreur suivante:
Exception in thread "main" java.lang.NumberFormatException: For input string: "foo"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
at java.lang.Integer.parseInt(Integer.java:497)
at NumberGuess.main(NumberGuess.java:10)
Ce que je pense ne se passe: « foo "n'est pas attrapé par" else "car args [0] est une référence d'objet et pas vraiment une chaîne. Ce que je veux savoir: Comment attraper tout autre que «aide» ou les chiffres «1» à «5»?
Voici le code ...
public class NumberGuess {
public static void main(String args[]){
int r;
int g;
if ((args[0].compareTo("help")) == 0){
System.out.println("Enter a number between 1-5 to play.");
} else if (Integer.parseInt(args[0]) > 0 && Integer.parseInt(args[0]) <= 5){
r = ((int)(Math.random()));
g = Integer.parseInt(args[0]);
if (r == g){
System.out.println("YOU WON!");
} else {
System.out.println("Wrong: number was " + r);
}
} else {
System.out.println("Something went horribly wrong.");
}}}
Juste pour info, pour des arguments plus complexes, je suggérerais commons-cli. – KitsuneYMG