Je fais mes devoirs de mon université mais je suis assez aux prises avec cette question: Lire en nombres entiers jusqu'à ce que l'utilisateur entre -1 -1. S'il y avait au moins 3 valeurs, montrez la moyenne en excluant le plus grand et le plus petit nombre. Ceci est mon code mais semble ne pas se débarrasser du plus grand et le plus petit nombre pour obtenir la moyenne.Min Max dans BlueJ
import java.util.Scanner;
public class MiddleAverage {
public static void main(String[] args) {
int sum;
int count;
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
double average;
sum = 0;
count = 0;
average = 0;
Scanner scanner = new Scanner(System.in);
System.out.print("Value: ");
int value = scanner.nextInt();
while (value != -1)
{
if (value < min)
min = value;
if (value > max)
max = value;
System.out.print("Value: ");
value = scanner.nextInt();
count++;
sum = sum + value;
average = sum/count;
}
if (value == -1)
{
System.out.println("Middle average is: " + average);
}
}
}
Pourriez-vous m'expliquer? Je vous remercie!
Vous gardez la trace des valeurs 'min' et' max', mais vous ne faites jamais rien avec eux. Si vous voulez vous débarrasser d'eux avant d'imprimer la moyenne, vous devrez écrire le code qui fait cela. –
Hey merci pour votre suggestion. Une autre question est que le code fait cela dans la boucle "while" ou dans la boucle "If". Merci – COI
Il n'y a pas de boucle if. Il n'y a que si des déclarations. –