Java ,trois variables

rh0dan Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
 danimo -
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

danimo
 
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   Statut Contributeur Dernière intervention   1 293
 
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   Statut Membre Dernière intervention  
 
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   Statut Contributeur Dernière intervention   1 293
 
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