Probleme avec if else

cs_SilverShadow Messages postés 1 Date d'inscription mercredi 21 novembre 2007 Statut Membre Dernière intervention 21 novembre 2007 - 21 nov. 2007 à 22:40
Anthed Messages postés 152 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 17 janvier 2014 - 23 nov. 2007 à 17:10
Bonjour j'ai un probleme avec un programme que je suis en train de coder je voudrais que le programme affiche la valeur la plus grande dans un tableau d'entier et que si ce chiffre est au dessus de 100 le programme affiche un message d'erreur. J'ai commencé mon programme j'ai réussi a faire afficher la valeur la plus grande dans le tableau mais je n'arrive pas a délimiter la plage de nombre entre 1 et 100 et ainsi pouvoir apres avec if else afficher le message d'erreur.

Voici mon code que j'ai tapé :

import java.io.*;
public class valeur
{
    public static void main(String args[])
    {
    int tableau[]={2,4,6,7,10,50,78,18};
    int i = 1;
    int nombre = 0;
    int erreur = 100;
    for( i=1; i<tableau.length; i++)
    {
        if( tableau[i] > nombre )
        {
            nombre = tableau[i];
        }
        else if(tableau[i] < 100 )
        {
            nombre = erreur;
        }
    }
    System.out.println( "Resultat de la valeur la plus grande du tableau : " + nombre );
    }
}

j'aurais aimer avoir un oeil différent du mien pour m'aider dans ma tache parceque la je coince dessus depuis une bonne demi heure ^^

Merci de votre attention.

2 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
22 nov. 2007 à 09:49
Salut:

public static final int THRESHOLD_MAX = 100;

public static int getMax(int[] array) {
    if (array == null) {  
       throw new NullPointerException();
    }
    if (array.length == 0) {
       throw new UnsupportedOperationException();
    }

    int returnValue = array[0];
    for (int i = 1; i < array.length; ++i) {
       if (returnValue >= THRESHOLD_MAX) {
            returnValue = THRESHOLD_MAX;
            break;  
       }
       if (array[i] > returnValue) {
           returnValue = array[i];  
       }
    }
    return returnValue;
}
0
Anthed Messages postés 152 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 17 janvier 2014 3
23 nov. 2007 à 17:10
Hello,

La fonction Math.max permettrait de simplifier le code :

public static int getMax(int[] array) {
    if (array == null) {  
       throw new NullPointerException();
    }
    if (array.length == 0) {
       throw new UnsupportedOperationException();
    }

    int returnValue = 0;    for (int i 0, n array.length; i < n; i++) {
       returnValue = Math.max(array[i], result);
       if (returnValue >= THRESHOLD_MAX) {
            return THRESHOLD_MAX;
       }
    }
    return returnValue;
}
0
Rejoignez-nous