如何在输入循环中找到最小数字?

时间:2015-04-16 17:46:37

标签: java

我必须编写一个代码,告诉用户输入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);

4 个答案:

答案 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]))); 

希望它有所帮助!