Java 输入三个数字,并使用嵌套if按降序排列
我只能想出这么多。请耐心点,帮帮我,我才14岁!! 程序只能使用嵌套的ifs完成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();
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我知道,对吧