Je veux forcer l'utilisateur à saisir un numéro avec 5 longueurs de long ( Pas plus et pas moins) et rangez-les à l'intérieur d'une variable Int, cela inclut un 0.
par exemple, le programme doit permettre à l'utilisateur de saisir: p> Mais il ne devrait pas fonctionner pour: p> j'ai essayé ... p> Ceci fonctionnerait uniquement si l'entrée de l'utilisateur Plus de 5 longueurs, mais cela ne résout pas le problème de l'utilisateur qui met sous une longueur int moins de 5 p> p>
3 Réponses :
quelque chose de fou simple comme ça. Manque de manutention de casse (lecture: valeurs négatives)
Je pense que vous devez entrer une entrée dans la chaîne non in int, si la validation passe à droite, vous pouvez l'analyser entier comme les éléments suivants:
import java.util.Scanner; public class main { public static void main(String[] args) { /// take input String userInput = ""; Scanner sc = new Scanner(System.in); userInput = sc.nextLine(); int input ; // validation test if(userInput.length() == 5) { input = Integer.parseInt(userInput); }else { // you can display an error message to user telling him that he should enter 5 numbers! } } }
Deux fonctions. Premièrement, pour vérifier l'entrée: et seconde, pour obtenir la saisie de l'utilisateur: p> Vous devrez peut-être aussi faire une erreur. Manipulation, au cas où l'entrée donnée n'est pas un entier du tout. Vous pouvez implémenter is_valid_number () code> de manière concise comme suit: p>
Essayez de prendre une entrée code> de chaîne code>, puis vérifiez la longueur. Si la longueur est valide, puis analysez-la sur
INTEGER CODE>.
Légèrement différent, prenez le commentaire ci-dessus ... Je vérifierais pour voir si vous pouvez d'abord vous lancer dans un numéro, si cela fonctionne, comptez la taille des valeurs de la chaîne. Il est légèrement pédant, mais nous validons toujours la manière suivante. Pas null, type correct, valeur correcte (s), correct contre tout magasin de persistance que vous pourriez utiliser.