因为本人还是小白,在刚开始做这题的时候。用到的是嵌套if条件语句,步骤和思路都相对来说更繁琐,之后找到一种更为简便的方法。
在这里我会将两个方法都呈现,希望以后再回看是对自己有所帮助。当然,更希望我的方法对其他人有所作用,更不会走进我之前的误区。
第一种:
import java.util.*;
public class Test1
{
public static void main(String[]args)
{
Scanner input=new Scanner(System.in);
System.out.println("请输入第一个整数:");
int a=input.nextInt();
System.out.println("请输入第二个整数:");
int b=input.nextInt();
System.out.println("请输入第三个整数:");
int c=input.nextInt();
int max=a>b?a:b;
max=c>max?c:max;//计算出三个数中的最大值
int min=a>b?b:a;
min=c>min?min:c;//计算出三个数中的最小值
int d=a+b+c;//将三个数相加
int e=d-max-min;//除去最大值和最小值
System.out.println("三个数的中间数是:"+e);
}
} //思路就是将输入的数字相加,然后减去最大值和最小值得到中间值。不需要直接比较三个数的大小。
第二种:(相对繁琐)
import java.util.*;
public class Test2
{
public static void main(String[]args)
{
Scanner input=new Scanner(System.in);
System.out.print("请输入三个数字");
int a=input.nextInt();
int b=input.nextInt();
int c=input.nextInt();
int d=a>b?a:b;
if(a>b)
{
if(d>c)
{
if(b>c)
{
System.out.println(c);
System.out.println(b);
System.out.println(d);
}else
{
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}else
{
System.out.println(b);
System.out.println(d);
System.out.println(c);
}
}else
{
if(d>c)
{
if(a>c)
{
System.out.println(c);
System.out.println(a);
System.out.println(d);
}else
{
System.out.println(a);
System.out.println(c);
System.out.println(d);
}
}else
{
System.out.println(a);
System.out.println(d);
System.out.println(c);
}
}
//太复杂,首选第一种方法。就算使用嵌套的if语句也有比这个更简单的方法。首先比较a和b的大小,输出较大值d,再用这个d和c进行比较输出较小的那个值在与ab之中小的那个比较,最终得到三个值依次从小到大排列。