Probleme en java

chatir -  
 chatir -
Bonjour,
j'arrive pas à resoudre ce probleme, comment controler le type des données saisi par l'utilisateur en java
merci d'avance.
A voir également:

5 réponses

choubaka Messages postés 39984 Statut Modérateur 2 105
 
Salut

tu peux développer ta question ?
0
chatir
 
salut
je veux que l'utilisateur tepe jute des chiffres si il tape des caractéres il l'affiche un message de changer le type de données.
je ne veux pas de l'afficher le message d'erreur quel affiche java automatiquement
pouvez vous m'aidez svp
merci d'avance.
0
chatir
 
salut
je veux que l'utilisateur tepe jute des chiffres si il tape des caractéres il l'affiche un message de changer le type de données.
je ne veux pas de l'afficher le message d'erreur quel affiche java automatiquement
pouvez vous m'aidez svp
merci d'avance.
0
mype Messages postés 2449 Statut Membre 437
 
utilises les scanner il est bloquant tant que l'utilisateur ne rentre pas un entier ton programme sera bloqué
Scanner s = new Scanner(System.in);
int i = s.nextInt();
0
chatir
 
salut tu peux expliquer un peut ton idée ssvp et merci bcp
et je peux savour ou j'ai ecris ce bloc est ce que dans le procedures ou le programme principale car j 'ai un programme qui contient deux procédure et fonction. merci
0
mype Messages postés 2449 Statut Membre 437 > chatir
 
ben je t'ai deja donné la syntaxe apres tu mets sa à l'endroit ou tu demande a l'utilisateur de rentrer ses données
0
scriptiz Messages postés 1494 Statut Membre 425
 
Si tu catch l'exception levée par le scanner c'est mieux pour pas que ton programme plante quand même ^^ ou alors throws là plus loin.

import java.util.*;

public class PgmTest
{
	Scanner scanner = new Scanner(System.in);
	
	public static void main(String[] args)
	{
		System.out.print("Entrez un nombre : ");
		int nombre;
		try
		{
			nombre = scanner.nextInt();
		}
		catch(InputMismatchException e)
		{
			System.out.println("Faut entrer des chiffres loulou ^^");
		}

		System.out.println("\nVous avez entré : " + nombre);
	}
}
0
chatir
 
salut j'ai testé cette methode mais ca ne marche pas
mais merci bcp pour l'aide c trés gantille de ta part
0
Marco la baraque Messages postés 1030 Statut Contributeur 329 > chatir
 
Bonsoir,
Si je peux me permettre, je pense que c'est un NumberFormatException qui est levée dans ce cas, pas un InputMismatchException.

Autrement dit, personnellement je mettrais :
...
catch(NumberFormatException e)
...


Cordialement,

Edit : Après vérification, j'ai totalement faux, désolé (ça m'apprendra à écrire des trucs avant de les vérifier). Le InputMismatchException est bien l'exception à catcher.
0
scriptiz Messages postés 1494 Statut Membre 425 > chatir
 
Chez moi ça fonctionne ^^
0
scriptiz Messages postés 1494 Statut Membre 425
 
En effet ^^ Voici la doc sur le nextInt() :

nextInt

public int nextInt()

    Scans the next token of the input as an int.

    An invocation of this method of the form nextInt() behaves in exactly the same way as the invocation nextInt(radix), where radix is the default radix of this scanner.

    Returns:
        the int scanned from the input 
    Throws:
        InputMismatchException - if the next token does not match the Integer regular expression, or is out of range 
        NoSuchElementException - if input is exhausted 
        IllegalStateException - if this scanner is close
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ixabro Messages postés 99 Statut Membre 4
 
Salut Scriptiz,

J'ai essayé de trouver le probleme avec le peu de connaissance que j'ai et je pense que la source du problème est le "InputMismatchException" essaye de voir si tu peux le remplacer pour contourner l'erreur que te renvoie ton compilateur.
0
chatir
 
merci bcp
0