从键盘输入3个整数a、b、c,求最大值和最小值

来源:互联网 发布:ipv6 端口号 编辑:程序博客网 时间:2024/05/19 13:10

    求最大最小值有很多种方法,在这里举例3种。

     首先是从键盘输入三个整数a、b、c

      Scanner input=new Scanner(System.in);
       int max,min;   
       int a=input.nextInt();
       int b=input.nextInt();
       int c=input.nextInt();

        第一种方法 :利用三目运算符:(表达式1)?(表达式2):(表达式3)来比较,原理当表达式1的结果为真时,整个

                            运算的结果为表达式2,反之则为表达式3
        max=((a>b)?a:b)>c?((a>b)?a:b):c;   //求最大值
        min=((a<b)?a:b)<c?((a<b)?a:b):c;   //求最小值
        System.out.println("min="+min+"\nmax="+max);


    第二种方法  设其中的一个数为最大最小值,再依次与其他值比较,

max=a;
if(max<b){
max=b;
}
if(max<c){
max=c;
}

min=a;
if(min>b){
min=b;
}
if(min>c){
min=c;
}
System.out.println("min="+min+"\nmax="+max);

     第三种方法 :利用排序的方法来解,将几个整数做为数组,再按照大到小或小到大来排序,取出首尾就是最大最                             小值。这里用的是冒泡排序
int[] arr={a,b,c};
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-i-1; j++) {
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
System.out.println("min="+arr[0]+"\nmax="+arr[arr.length-1]);

以上就是三种不同的方法,若是单纯的求最大最小值且只是几个数时,我个人认为第二种方法好,容易理解,又不容易错。

阅读全文
0 0