Java ,trois variables

Fermé
rh0dan Messages postés 2 Date d'inscription mercredi 22 octobre 2008 Statut Membre Dernière intervention 22 octobre 2008 - 22 oct. 2008 à 02:36
 danimo - 23 oct. 2008 à 17:18
Bonjour,

Je suis étudiant et j'ai besoin de faire un programme avec 3 variables et de trouver la plus grande.Voici ce que j'ai fait
Mais java me demande d'initialiser plusgrand, je ne sais pas comment.
merci de votre aide

voici mon code


import javax.swing.*;
public class plusgrand {


public static void main(String[] args) {
// Déclarer et initialiser les variables ici.
int nb1 ;
int nb2 ;
int nb3 ;
int plusGrand ; // La plus grande des trois valeurs.




String saisie ; //déclaration d'une variable

saisie = JOptionPane.showInputDialog("Entrez le premier nombre:");
nb1 = Integer.parseInt(saisie);

saisie = JOptionPane.showInputDialog("Entrez le deuxième nombre:");
nb2 = Integer.parseInt(saisie);

saisie = JOptionPane.showInputDialog("Entrez le troisième nombre:");
nb3 = Integer.parseInt(saisie);
//Écrire ici les instructions d'affectation ainsi que les instructions if ou if else appropriées.
if ( nb1 > nb2 )

if ( nb2 > nb3) plusGrand = nb1 ;

else if ( nb2 > nb1)

if ( nb1 > nb3) plusGrand = nb2 ;

else

plusGrand = nb3 ;





// Afficher la valeur la plus grande.
System.out.println("La valeur la plus grande est" + plusGrand);
}
}
A voir également:

4 réponses

Salut,

String saisie = "0"; //déclaration d'une variable

// pour éviter de "catcher" 3 fois :
String[] tLib = {
"Entrez le premier nombre:",
"Entrez le deuxième nombre:",
"Entrez le troisième nombre:"};
int nb = 0;
for (int i = 0; i <3; i++) // pour entrer les 3 nb
{

saisie = JOptionPane.showInputDialog(tLib[i]);
try
{
nb = Integer.parseInt(saisie);
}
catch (NumberFormatException nfe)
{
String texte ="entrée non numérique ou\n"
+ "saisie annulée par <Annuler> !";
javax.swing.JOptionPane.showMessageDialog(null,texte);
return;
}
if (i == 0) nb1 = nb;
else
if (i == 1) nb2 = nb;
else nb3 = nb;
System.out.println("nb" + (i+1) + " = " + nb);
}
//Écrire ici les instructions d'affectation ainsi que les instructions if ou if else appropriées.
if ( ( nb1 > nb2 ) && ( nb1 > nb3) )
{
plusGrand = nb1 ;
}
else
if ( ( nb2 > nb1 ) && ( nb2 > nb3 ) )
{
plusGrand = nb2;
}
else
if ( ( nb3 > nb1 ) && ( nb3 > nb2 ) )
{
plusGrand = nb3 ;
}
else
{
System.out.println("nb1 = nb2 = nb3 = " + nb1);
plusGrand = nb1;
}
// Afficher la valeur la plus grande.
System.out.println("La valeur la plus grande est " + plusGrand);
}
Cordialement.

Dan
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
22 oct. 2008 à 03:00
Bonjour,

C'est simple à initialiser :

int nb1 =0;
int nb2 =0;
int nb3 =0;
int plusGrand=0;
-1
rh0dan Messages postés 2 Date d'inscription mercredi 22 octobre 2008 Statut Membre Dernière intervention 22 octobre 2008
22 oct. 2008 à 03:30
salut,

j'avais le message pour initialiser ton aide a corrigé mon problème.

Mais mon programme ne donne pas de bon résultat il m'affiche toujours plusGrand = 0

merci
-1
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
22 oct. 2008 à 23:12
Juste après chaque nb* = met donc un affichage de chaque nombre , avec une ligne du type :

System.out.println("nb* = "+nb*);

etc etc ...

En mode debug tu verras de suite si tu récupères bien des variables ou pas.
-1