繁体   English   中英

使用 if 语句查找 3 个变量中的最小值

[英]Finding the minimum of 3 variables using an if statement

我正在学习如何使用 BlueJ,并且正在努力将其代码写入 output 用户输入的最小数字。 任何帮助,将不胜感激!

import java.util.Scanner;
public class FindMin
{
    public static void main(String[] args)
    {
        System.out.print("Program to compare three numbers");
        System.out.println("and output minimum value entered");

        Scanner input = new Scanner(System.in);

        System.out.print("Enter 1st number: ");
        int number1;
        number1 = input.nextInt();

        System.out.print("Enter 2nd number: ");
        int number2;
        number2 = input.nextInt();

        System.out.print("Enter 3rd number: ");
        int number3;
        number3 = input.nextInt();

        int minimum;
        if (number2 > number1 | number3 > number1){
            minimum = number1;
        }
        else if (number1 > number2 | number3 > number2){
            minimum = number2;
        }
        else if (number1 > number3 | number2 > number3){
            minimum = number3;
        }

        System.out.print("The minimum of the numbers entered is ");
        System.out.println(minimum); 
        System.out.println(); 
    }
}

| 是按位或运算符。 你想要&& ,逻辑与运算符。 “如果number2大于number1并且number3大于number1 。” 此外,您不希望在最后一个else上有任何if ,因为到那时您已经排除了三种可能性中的两种,并且只剩下一种可能性。 所以:

if (number2 > number1 && number3 > number1){
// -------------------^^
    minimum = number1;
}
else if (number1 > number2 && number3 > number2){
// -------------------^^
    minimum = number2;
}
else /* No `if` here */ {
    minimum = number3;
}

您还可以import java.util.*女巫随附java.lang.Math 这允许您使用来自Math的方法,例如Math.min

import java.util.Scanner;
public class FindMin
{
    public static void main(String[] args)
    {
        System.out.print("Program to compare three numbers");
        System.out.println("and output minimum value entered");

        Scanner input = new Scanner(System.in);

        System.out.print("Enter 1st number: ");
        int number1;
        number1 = input.nextInt();

        System.out.print("Enter 2nd number: ");
        int number2;
        number2 = input.nextInt();

        System.out.print("Enter 3rd number: ");
        int number3;
        number3 = input.nextInt();

         int minimum = Math.min(Math.min(number1, number2), number3);

        System.out.print("The minimum of the numbers entered is ");
        System.out.println(minimum); 
        System.out.println(); 
    }
}

或者你可以这样做

int minimum = 0;
    if(number1 < number2){
        minimum = number1;
    }else{
        minimum = number2;
    }
    if(number3<minimum){
        minimum = number3;
    }

尝试以下方法并将您的三个数字作为参数传递。

    public static int getMinimumNumber(int no1, int no2, int no3) {
        return no1 < no2 ? (no1 < no3 ? no1 : (no2 < no3 ? no2 : no3)) : (no2 < no3 ? no2 : no3);
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM