Java 输入三个数字,并使用嵌套if按降序排列

Java 输入三个数字,并使用嵌套if按降序排列,java,netbeans,bluej,Java,Netbeans,Bluej,我只能想出这么多。请耐心点,帮帮我,我才14岁!! 程序只能使用嵌套的ifs完成 import java.util.Scanner; public class P2 { public static void main(String args[]) { Scanner sc=new Scanner(System.in); System.out.println("Enter three number"); int n1=sc.nextInt();

我只能想出这么多。请耐心点,帮帮我,我才14岁!! 程序只能使用嵌套的ifs完成

import java.util.Scanner;
public class P2
{
   public static void main(String args[])
   {
       Scanner sc=new Scanner(System.in);
       System.out.println("Enter three number");
       int n1=sc.nextInt();
       int n2=sc.nextInt();
       int n3=sc.nextInt();
       int max=0,min=0;
       if(n1>n2)
       {
           if(n1>n3)
           {max=n1;}
           if(n3>n1)
        }  
    }
}


给你!仅在使用和时使用

if (n1 >= n2) {
    if (n1 >= n3) {
        if (n2 >= n3) {
            System.out.printf("%d, %d, %d", n1, n2, n3);
        } else {
            System.out.printf("%d, %d, %d", n1, n3, n2);
        }
    } else {
        if (n2 >= n3) {
            System.out.printf("%d, %d, %d", n2, n3, n1);
        } else {
            System.out.printf("%d, %d, %d", n3, n1, n2);
        }
    }
} else {
    if (n1 >= n3) {
        if (n2 >= n3) {
            System.out.printf("%d, %d, %d", n2, n1, n3);
        } else {
            System.out.printf("%d, %d, %d", n3, n2, n1);
        }
    } else {
        if (n2 >= n3) {
            System.out.printf("%d, %d, %d", n2, n3, n1);
        } else {
            System.out.printf("%d, %d, %d", n3, n2, n1);
        }
    }
}

你可以用很多方法来解决它。我的第一次尝试如下:

import java.util.Scanner;

public class P2 {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter three number");
        int n1 = sc.nextInt();
        int n2 = sc.nextInt();
        int n3 = sc.nextInt();
        int max = 0, min = 0, med = 0;
        if (n1 > n2 && n1 > n3) {
            max = n1;
            if (n2 > n3) {
                min = n3;
                med = n2;
            } else {
                min = n2;
                med = n3;
            }
        } else if (n2 > n1 && n2 > n3) {
            max = n2;
            if (n1 > n3) {
                min = n3;
                med = n1;
            } else {
                min = n1;
                med = n3;
            }
        } else if (n3 > n1 && n3 > n2) {
            max = n3;
            if (n2 > n1) {
                min = n1;
                med = n2;
            } else {
                min = n2;
                med = n1;
            }
        }
        System.out.println(max + " " + med + " " + min);
    }
}
如果你仔细观察,内部的If-else会以不同的数字重复。因此可以提取到返回最小-最大对的方法

import java.util.Scanner;

public class P2 {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter three number");
        int n1 = sc.nextInt();
        int n2 = sc.nextInt();
        int n3 = sc.nextInt();
        int max = 0, min = 0, med = 0;
        if (n1 > n2 && n1 > n3) {
            max = n1;
            MinMaxPair minMaxPair = getMinMaxPair(n2, n3);
            min = minMaxPair.getMin();
            med = minMaxPair.getMax();
        } else if (n2 > n1 && n2 > n3) {
            max = n2;
            MinMaxPair minMaxPair = getMinMaxPair(n1, n3);
            min = minMaxPair.getMin();
            med = minMaxPair.getMax();
        } else if (n3 > n1 && n3 > n2) {
            max = n3;
            MinMaxPair minMaxPair = getMinMaxPair(n1, n2);
            min = minMaxPair.getMin();
            med = minMaxPair.getMax();
        }
        System.out.println(max + " " + med + " " + min);
    }

    private static class MinMaxPair {
        private int min;
        private int max;

        public MinMaxPair(int n2, int n3) {
            this.min = n2;
            this.max = n3;
        }

        public int getMin() {
            return min;
        }

        public int getMax() {
            return max;
        }
    }

    public static MinMaxPair getMinMaxPair(int n1, int n2) {
        if (n1 > n2) {
            return new MinMaxPair(n2, n1);
        } else {
            return new MinMaxPair(n1, n2);
        }
    }
}

试着先把这个写在一张纸上。当你进入最后一个选择时,考虑使用<代码>其他< /代码> @ SracyObBAT,我只能想出这么多。我还是个初学者。嵌套
如果只嵌套
?无
else
&&
?@LHCHIN如果
else
如果
作为well@ScaryWombat我知道,对吧