Je suis Beggyer avec Java et j'ai fait un code que l'utilisateur met un numéro, mais s'il écrit une chaîne au lieu d'entier, c'est une erreur, comment puis-je contrôler l'erreur pour afficher un message à l'utilisateur? Voici l'erreur: et voici mon code: p>
3 Réponses :
Votre Vous voulez probablement quelque chose comme ceci: p> essayer code>
attrape code> semble bon, mais vous devez placer le premier
int userinput = entrée.nextline () code> dans le
TRY code> bien sûr.
Votre code a des défauts:
java.util.inputmismatatatatatatatatatSception code> li>
- Vous n'abandonnez pas l'entrée utilisateur à votre variable
userinput code> li>
ul> Voici votre code avec les problèmes ci-dessus supprimés. Comme le code ne fait rien, sauf obtenir l'entrée et l'imprimer. Essayez d'ajouter une certaine condition pour terminer votre programme ou ajouter une certaine logique à faire quelque chose avec l'entrée. P>
import java.util.InputMismatchException;
import java.util.Scanner;
public class NewClass1 {
public static void main(String[] args) {
System.out.println("1.View all available zoo animals");
Scanner input = new Scanner(System.in);
int UserInput;
while (true) {
try
{
System.out.println("Write Here: ");
UserInput = input.nextInt();
System.out.println("Inputed value: " + UserInput);
}
catch (InputMismatchException e)
{
input.next();
System.out.println("Thatâs not an integer. Try again: ");
}
}
}
}
Je pense que le problème est dans la partie de la capture. Il devrait être Le bloc de code suivant fonctionne pour vous. P> numberformatexception code> au lieu de
INPUTMISMATEXCEPTION CODE>.
public static void main(String[] args) {
System.out.println("1.View all available zoo animals");
System.out.print("Write Here: ");
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
while (true) {
try {
int userInput = Integer.parseInt(input);
} catch (NumberFormatException e) {
System.out.println("Wrong input.");
System.out.print("Write Here: ");
input = scanner.nextLine();
}
}
}
Avec le
essayez code> -
attrape code> construction. Je vois que vous avez déjà écrit un, alors qu'est-ce qui vous empêche d'écrire une seconde?
Quelle est la construction d'essais? Et comment je l'ai écrit? (Comme je l'ai dit, je suis Burggyer alors j'ai besoin que vous soyez plus spesific)
aussi l'intelligime vérifie la commande retour retour.nextint (); b> avec rouge, je ne sais pas pourquoi
Vous ne pouvez pas renvoyer un
int code> à partir d'une méthode dont le type de retour est
vide code>. Donc,
retour INPUT.NEXTINT () CODE> ne peut pas fonctionner dans
Public Static Void Main (String [] args) code>. Qu'est-ce que vous voulez réaliser?
Lorsque j'exécute le programme si l'utilisateur écrit une chaîne au lieu d'entier, je souhaite dire à l'utilisateur que le message: ce n'est pas un entier. Réessayer!
Et je comprends maintenant que vous m'avez parlé du retour, merci
Je vous suggère d'étudier le didacticiels Java . Cela vous fournira des détails précieux sur les bases.
Ok et merci pour votre aide!