Java ,trois variables

rh0dan Messages postés 2 Statut Membre -  
 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);
}
}
Configuration: Windows XP
Firefox 3.0.3

4 réponses

  1. 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
  2. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
     
    Bonjour,

    C'est simple à initialiser :

    int nb1 =0;
    int nb2 =0;
    int nb3 =0;
    int plusGrand=0;
    -1
  3. rh0dan Messages postés 2 Statut Membre
     
    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
  4. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
     
    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