首先是我想到最笨的方法:
import java.util.Scanner;
public class test1 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("Enter a:");
int a=input.nextInt();
System.out.print("Enter b:");
int b=input.nextInt();
System.out.print("Enter c:"); //输入三个数
int c=input.nextInt();
int max =0;
int mid=0;
int min=0;
if (a>b & a>c){max=a;}else if(b>a & b>c){ //暴力列举出最大数情况
max=b;
}else{
max=c;
}
if(a<b & a<c ){min=a;}else if (b<a & b<c){ //列举出最小数所有情况
min=b;
}else{
min=c;
}
if(a<b & a>c || a<c &a>c){mid=a;}else if(b<a & b>c || b>a & b<c){mid=b;}else{mid=c;} //列举出中间值情况
System.out.println(min+" "+mid+" "+max);
}
}
同样列举出所有情况:
import java.util.Scanner;
public class demo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("a=");
int a = sc.nextInt();
System.out.print("b=");
int b = sc.nextInt();
System.out.print("c=");
int c = sc.nextInt();
if (a > b) { //a>b的情况 a较大
if (c > a) { //c>a 已知a>b c最大
System.out.println(b + "," + a + "," + c);
} else if (c < b) { //c<b 已知a>b
System.out.println(c + "," + b + "," + a);
} else {
System.out.println(b + "," + c + "," + a);
}
// a<b情况
} else {
if (c < a) { //a<b c<a
System.out.println(c + "," + a + "," + b);
} else if (c > b) { //a<b c>b
System.out.println(a + "," + b + "," + c);
} else {
System.out.println(a + "," + c + "," + b);
}
}
}
}
再来个简单点的:
import java.util.Scanner;
public class demo {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("Enter");
int a = s.nextInt();
int b = s.nextInt();
int c = s.nextInt();
if (a < b) {
int t = a; /*如果a<b时候 a、b数值互换*/
a = b;
b = t;
}
if (a < c) { /*如果a<c时候 a、c数值互换*/
int t = a;
a = c;
c = t;
}
if (b < c) { /*如果b<c时候 b、c数值互换*/
int t = b;
b = c;
c = t;
}
System.out.println("");
System.out.println(c + " " + b + " " + a);
}
}