【发布时间】:2017-03-28 03:16:22
【问题描述】:
我正在从我的大学做我的作业,但我在这个问题上很挣扎:读入整数,直到用户输入-1。如果至少有 3 个值,则显示不包括最大和最小数字的平均值。 这是我的代码,但似乎它并没有去掉最大和最小的数字来获得平均值。
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);
}
}
}
您对此有任何想法,请向我解释。谢谢!
【问题讨论】:
-
您正在跟踪
min和max值,但您从未对它们进行任何操作。如果您想在打印平均值之前去掉它们,您必须编写执行此操作的代码。 -
您好,谢谢您的建议。另一个问题是代码在“while”循环或“If”循环内执行此操作。谢谢
-
没有没有 if循环。只有 if 语句。
-
对不起,我的意思是“如果”语句对不起
标签: bluej