Re-saisir si choix mauvais java

TheTcha -  
Maria666 Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai fais une petite calculette toute simple en java mais j'ai juste un petit soucis.

Voila, tout marche bien sauf que je voudrais ressaisir un chiffre quand le chiffre saisie n'est pas le bon

Voici le code :


public class Calculatrice
{

	/**
	 * @param args
	 */
	public static void main(String[] args) 
	{

		int nombre1 ;
		int nombre2 ;
		char operateur ;
		int resultat ;
		
		do
		{
		System.out.print( " Saisir le nombre 1 : " ) ;
		nombre1 = Lire.i() ;
		}
		
		while ((nombre1 != 0) && (nombre1 != 1) && (nombre1 != 2) && (nombre1 != 3));

------Ici je voudrais faire une boucle pour que quand le chiffre saisi n'est pas un 0,1,2 ou 3, on redemande automatiquement la saisi du chiffre jusqu'à qu'il soit bon------------

		do
		{
		System.out.print( " Saisir le nombre 2 : " ) ;
		nombre2 = Lire.i() ;
		}
		
		while ((nombre2 != 0) && (nombre2 != 1) && (nombre2 != 2) && (nombre2 != 3));

		
		do
		{
			System.out.print( " Veuillez saisir un opérateur : " ) ;
			operateur = Lire.c() ;	
		}
		
			while ((operateur != '/') && (operateur != '*') && (operateur != '-') && (operateur != '+'));

			
				switch (operateur)
			
					{
						case '/' :	
							if (nombre2 == 0 )
							{
								System.out.println( " Division impossible " ) ;
							}
							else
							{
							resultat = nombre1 / nombre2  ;
							System.out.println( " Le résultat est de : " + resultat ) ;
							}
							break ;
													
						case '*' :	resultat = nombre1 * nombre2  ;
						System.out.println( " Le résultat est de : " + resultat ) ;
							break ;
							
						case '-' :	resultat = nombre1 - nombre2  ;
						System.out.println( " Le résultat est de : " + resultat ) ;
							break ;
							
						case '+' :	resultat = nombre1 + nombre2  ;
						System.out.println( " Le résultat est de : " + resultat ) ;
							break ;
										
						default :	System.out.println ( " Ce n'est pas un caractere valide " ) ;
				
				}
			}
		}


Voila, j'ai expliqué dans le code ce que je voulais faire. Je ne pense pas que ça soit dur à réaliser mais ej bloque.

Merci d'avance
A voir également:

2 réponses

Utilisateur anonyme
 
Salut,

do
		{
		System.out.print( " Saisir le nombre 1 : " ) ;
		nombre1 = Lire.i() ;
		}
		
		while ((nombre1 != 0) && (nombre1 != 1) && (nombre1 != 2) && (nombre1 != 3));


Cette boucle est correcte, mais à condition que Lire.i(); dont nous ne savons rien fonctionne !!!

Cordialement,

Dan
0
TheTcha
 
Salut Dan,

La classe Lire fonctionne correctement tout comme le programme dont ta le code mais ce que je voudrais faire, c'est rajouter une condition que si ce n'est pas le chiffre 0,1,2 ou 3 qui est rentré, alors une phrase du style " Le chiffre n'est pas correct, veuillez saisir un autre chiffre ".

La fonction i retourne un entier.

Merci je suis disponible pour d'autres questions.
0
Utilisateur anonyme
 
Salut,

Quand tu entres 5 on ne boucle pas sur la demande "Saisir le nombre 1 :" ?

Peut-être veux tu un message différent ?
0
Maria666 Messages postés 32 Date d'inscription   Statut Membre Dernière intervention  
 
si c'est exactement sa le message : "Saisir le nombre 1 :" alors que moi je voudrait personnaliser la chose du genre " Le chiffre n'est pas correct, veuillez saisir un autre chiffre " mais je bloque
0
Utilisateur anonyme
 
Re,

String libErr = "Le chiffre n'est pas correct, veuillez saisir un autre chiffre.";
         String libOk = " Saisir le nombre 1 : ";
         String prompt = libOk;
do
{
System.out.print(prompt) ; 
nombre1 = Lire.i() ; 
prompt = libErr; // Si on boucle c'est ce libellé qu'on aura
} while ((nombre1 != 0) && (nombre1 != 1) && (nombre1 != 2) && (nombre1 != 3)); 

Cordialement,

Dan

0
Maria666 Messages postés 32 Date d'inscription   Statut Membre Dernière intervention  
 
Merci Dan ça marche nikel ce n'était pas très compliqué en effet.
0