[Java] Comparaison de deux nombres en param

Fermé
fab_lous Messages postés 6 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 mai 2007 - 4 mai 2007 à 15:36
fab_lous Messages postés 6 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 mai 2007 - 4 mai 2007 à 21:58
Bonjour,
je bloque sur un petit programme:

import java.lang.*;//importation du package correspondant aux méthodes utilisées

public class Compare {//déclaration de la classe d'objet
	String args[]=new String[1];//déclaration du tableau
	public static void main(String args[]){//procédure de comparaison
		int a=Integer.parseInt(args[0]);//transforme les variables de type String en int
		int b=Integer.parseInt(args[1]);
		
		if (args.length == 1) {
			
		//Conditions de comparaison
		
		if(a==b){
			System.out.println(a+" est égal à "+b);
			}
			else{
		if(a<b){
			System.out.println(a+" est inférieur à "+b);
			}
		else{
			System.out.println(a+" est supérieur à "+b);
			}
		}
	}
	else{
	System.out.println("Veuillez rentrer 2 entiers");
				}
			}
		}


Il compare 2 nombres qu'on doit rentrer (pour le moment je débute, je ne sais pas comment faire saisir directement l'utilisateur sur la console... ça viendra!).

En fait le soucis c'est que je n'arrive pas à faire afficher sans erreurs le message "Veuillez rentrer 2 entiers" lorsque seulement 1 valeur a été rentrée.

Pouvez-vous m'aider? C'est surement très bête.

De plus, lors de ce message, est-il possible de relancer automatiquement le programme?

Merci d'avance!
A voir également:

2 réponses

fab_lous Messages postés 6 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 mai 2007 3
4 mai 2007 à 21:58
merci, j'ai mis la conversion des variables dans la boucle et j'accède maintenant au message que je voulais. Par contre pour redémarrer la saisie des variables ça n'a pas fonctionné.
Pour la boucle tant que, je viens de découvrir que c'est inversé par rapport au C. Encore merci!

Fab
3
"En fait le soucis c'est que je n'arrive pas à faire afficher SANS ERREUR le message "Veuillez rentrer 2 entiers" lorsque seulement 1 valeur a été rentrée. "

Je pense que c'est parce que tu essaye d'accèder à un indice de ton tableau qui est vide.

Met ces deux lignes après ta condition "if (args.length == 1)" :

int a=Integer.parseInt(args[0]);
int b=Integer.parseInt(args[1]);

De plus ta condition :

if (args.length == 1)

devrait plutôt être :

if (args.length == 2)

non ?


Ensuite pour que ton programme s'éxécute en boucle jusqu'à ce que tu ais deux valeurs, fait :

public static void main(String args[]) {
// Saisie des deux arguments
do {
....
} while (nbArgs != 2);
}

Avec nbArgs le nombre d'agument saisi.

Pierro
0
Oups !

public static void main(String args[]) {
do {
// Saisie des deux arguments
....
} while (nbArgs != 2);
}

C'est mieux...
0