【问题标题】:Finding the minimum of 3 variables using an if statement使用 if 语句查找 3 个变量中的最小值
【发布时间】:2019-11-02 16:44:26
【问题描述】:

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

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(); 
    }
}

【问题讨论】:

  • Java !== JavaScript。请仅使用相关标签

标签: java bluej


【解决方案1】:

| 是按位或运算符。您需要&&,即逻辑与运算符。 “如果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;
}

【讨论】:

    【解决方案2】:

    你也可以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(); 
        }
    }
    

    【讨论】:

      【解决方案3】:

      或者你可以这样做

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

      【讨论】:

        【解决方案4】:

        试试下面的方法,将你的三个数字作为参数传递。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-08-13
          • 2018-11-10
          • 1970-01-01
          • 1970-01-01
          • 2023-01-19
          • 2014-01-08
          相关资源
          最近更新 更多