public class ThreeNumberSort {
//方法1 sortNum1方法用三目运算的方法从小到大输出三个数
private static void sortNum1(int num1,int num2,int num3){
//定义变量用于存放最大值和最小值
int max;
int min;
max=(num1>=num2&&num1>=num3)?num1:(num2>num3?num2:num3);
min=(num1<=num2&&num1<=num3)?num1:(num2<=num3?num2:num3);
//打印输出结果
System.out.println("方法1:"+min+" "+(num1+num2+num3-min-max)+" "+max);
}
//方法2 用if条件的方法
private static void sortNum2(int num1,int num2,int num3){
//定义变量用于交换
int t;
if(num1>num2){
t=num1;
num1=num2;
num2=t;
}
if(num2>num3){
t=num2;
num2=num3;
num3=t;
}
if(num1>num2){
t=num1;
num1=num2;
num2=t;
}
//输出结果
System.out.println("方法2:"+num1+" "+num2+" "+num3);
}
//方法3例举
private static void sortNum3(int num1,int num2,int num3){
if(num1==num2&&num2==num3){
System.out.println("方法3:"+num1+" "+num2+" "+num3);
}else
if(num1>=num2&&num2>=num3){
System.out.println("方法3:"+num3+" "+num2+" "+num1);
}else if(num2>num1&&num1>num3){
System.out.println("方法3:"+num3+" "+num1+" "+num2);
}else if(num2>=num3&&num3>=num1){
System.out.println("方法3:"+num1+" "+num3+" "+num2);
}else if(num3>num2&&num2>num1){
System.out.println("方法3:"+num1+" "+num2+" "+num3);
}else if(num3>num1&&num1>num2){
System.out.println("方法3:"+num2+" "+num1+" "+num3);
}else if(num1>num3&&num3>num2){
System.out.println("方法3:"+num2+" "+num3+" "+num1);
}
}
//方法4
private static void sortNum4(int num1,int num2,int num3){
//定义存放最大最小
int min=num1;
int max=num2;
if(num1>=num2)max=num1;//num1与num2中大的一个给max再与num3比较如果num3大就给
if(max<=num3)max=num3;//max如果不大就为num1与num2的比较结果
if(num1>=num2)min=num2;//原理与寻找max相同
if(min>=num3)min=num3;
System.out.println("方法4:"+min+" "+(num1+num2+num3-min-max)+" "+max);
}
public static void main(String[] args){
//调用sortNum方法测试
sortNum1(3,2,1);
//调用方法2
sortNum2(3,2,1);
//调用方法3
sortNum3(3,2,1);
sortNum3(3,3,3);
sortNum3(3,3,2);
sortNum3(3,2,3);
//调用方法4
sortNum4(3,2,1);
}
}
//方法1 sortNum1方法用三目运算的方法从小到大输出三个数
private static void sortNum1(int num1,int num2,int num3){
//定义变量用于存放最大值和最小值
int max;
int min;
max=(num1>=num2&&num1>=num3)?num1:(num2>num3?num2:num3);
min=(num1<=num2&&num1<=num3)?num1:(num2<=num3?num2:num3);
//打印输出结果
System.out.println("方法1:"+min+" "+(num1+num2+num3-min-max)+" "+max);
}
//方法2 用if条件的方法
private static void sortNum2(int num1,int num2,int num3){
//定义变量用于交换
int t;
if(num1>num2){
t=num1;
num1=num2;
num2=t;
}
if(num2>num3){
t=num2;
num2=num3;
num3=t;
}
if(num1>num2){
t=num1;
num1=num2;
num2=t;
}
//输出结果
System.out.println("方法2:"+num1+" "+num2+" "+num3);
}
//方法3例举
private static void sortNum3(int num1,int num2,int num3){
if(num1==num2&&num2==num3){
System.out.println("方法3:"+num1+" "+num2+" "+num3);
}else
if(num1>=num2&&num2>=num3){
System.out.println("方法3:"+num3+" "+num2+" "+num1);
}else if(num2>num1&&num1>num3){
System.out.println("方法3:"+num3+" "+num1+" "+num2);
}else if(num2>=num3&&num3>=num1){
System.out.println("方法3:"+num1+" "+num3+" "+num2);
}else if(num3>num2&&num2>num1){
System.out.println("方法3:"+num1+" "+num2+" "+num3);
}else if(num3>num1&&num1>num2){
System.out.println("方法3:"+num2+" "+num1+" "+num3);
}else if(num1>num3&&num3>num2){
System.out.println("方法3:"+num2+" "+num3+" "+num1);
}
}
//方法4
private static void sortNum4(int num1,int num2,int num3){
//定义存放最大最小
int min=num1;
int max=num2;
if(num1>=num2)max=num1;//num1与num2中大的一个给max再与num3比较如果num3大就给
if(max<=num3)max=num3;//max如果不大就为num1与num2的比较结果
if(num1>=num2)min=num2;//原理与寻找max相同
if(min>=num3)min=num3;
System.out.println("方法4:"+min+" "+(num1+num2+num3-min-max)+" "+max);
}
public static void main(String[] args){
//调用sortNum方法测试
sortNum1(3,2,1);
//调用方法2
sortNum2(3,2,1);
//调用方法3
sortNum3(3,2,1);
sortNum3(3,3,3);
sortNum3(3,3,2);
sortNum3(3,2,3);
//调用方法4
sortNum4(3,2,1);
}
}