Ici, il fallait noter qu’il n’est pas nécessaire de stocker les montants de chaque mois. On s’intéresse uniquement à faire un certain nombre de calculs/tests sur les montants introduits au fur et à mesure. Par exemple: à chaque fois qu’un montant est introduit, on l’ajoute au total des montants, stocké dans la variable total, et qui va nous servir au calcul de la moyenne. L’algorithme pour trouver le minimum (resp. maximum) est classique: à chaque fois qu’un nouveau montant est introduit on teste si ce montant est plus petit que le minimum déjà connu. Si oui, le minimum connu devient ce montant, sinon il garde sa valeur.
Le minimum connu est ici initialisé à la plus grande valeur possible pour une variable de type int, donnée en Java par Integer.MAX_VAL
import java.util.Scanner; class Bilan { private static Scanner scanner = new Scanner(System.in); public static void main(String args[]) { // Lecture du nombre de mois System.out.print("Donnez le nombre de mois: "); int months = scanner.nextInt(); int min = Integer.MAX_VALUE; int max = 0; int total = 0; // Lecture des montants, accumulation et valeurs extrêmes for (int i = 0; i < months; i++) { System.out.print(" Donnez le montant du mois " + (i + 1) + " (Frs): "); int montant = scanner.nextInt(); total = total + montant; if (montant > max) { max = montant; } if(montant < min) { min = montant; } } System.out.println("La somme mensuelle moyenne reçue est: " + (total / months)); System.out.println("Le montant mensuel minimal reçu est: "+ min); System.out.println("Le montant mensuel maximal reçu est: "+ max); } }