我必须编写一个代码,告诉用户输入4个数字(它们可能是十进制数)并打印这些数字的平均值和最低值。
到目前为止,我已经设法获得了平均值,但是我无法获得最低数字。
int iteration = 0;
float number;
float total = 0;
float average;
float lowest;
Scanner input = new Scanner(System.in);
while (iteration < 4){
System.out.println("Enter score : ");
number = input.nextFloat();
iteration++;
total += number;
}
average = total / 4;
System.out.println("The average is: " + average);
答案 0 :(得分:2)
您可以使用值lowest
初始化Float.MAX_VALUE
,每次用户输入值时,您将最低值与输入值进行比较,并将新的较小值分配给最低值。
int iteration = 0;
float number;
float total = 0;
float average;
float lowest = Float.MAX_VALUE;
Scanner input = new Scanner(System.in);
while (iteration < 4){
System.out.println("Enter score : ");
number = input.nextFloat();
iteration++;
total += number;
if(number < lowest){
lowest = number;
}
}
average = total / 4;
System.out.println("The average is: " + average);
System.out.println("The minimum is: " + lowest);
答案 1 :(得分:1)
试试这个:
float minValue = Double.MAX_VALUE;
while(...){
...
number = input.nextFloat();
minValue = Math.min(minValue, number);
...
}
希望这会对你有所帮助:)。
答案 2 :(得分:1)
最初定义float lowest = some big no
。
现在,每次输入输入时都会将其与lowest
进行比较。如果输入小于lowest
,请将其指定为lowest
,否则请勿更改lowest
。
答案 3 :(得分:0)
正如Olli Zi所说,你可以通过一个简单的函数Math.min()获得最小值。此外,为了详细了解我也提供了代码。
int iteration = 0;
float number[]=new float[4];
float total = 0;
float average;
float lowest;
Scanner input = new Scanner(System.in);
while (iteration < 4){
System.out.println("Enter score : ");
number[iteration] = input.nextFloat();
total += number[iteration];
iteration=iteration+1;
}
average = total / 4;
System.out.println("The average is: " + average);
System.out.println(Math.min(Math.min(number[0],number[1]), Math.min(number[2],number[3])));
希望它有所帮助!