回 帖 发 新 帖 刷新版面

主题:判断三个数的大小

请问大家怎样用if....else语句来判断三个数的大小并把最大值和最小值输出???

回复列表 (共11个回复)

沙发

public class Test2 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Integer a = 1, b = 2, c = 3;
        if (a > b) {
            if (a > c) {
                System.out.println("最大值是:" + a);
                if (b > c) {
                    System.out.println("最小值:" + c);
                } else {
                    System.out.println("最小值:" + b);
                }
            } else {
                System.out.println("最大值是:" + c);
                System.out.println("最小值是:" + b);
            }
        } else {
            if (b > c) {
                System.out.println("最大值是:" + b);
                if (a > c) {
                    System.out.println("最小值:" + c);
                } else {
                    System.out.println("最小值:" + a);
                }
            } else {
                System.out.println("最大值是:" + c);
                System.out.println("最小值是:" + a);
            }
        }

    }

}

最好不要用if....else语句来判断三个数的大小,这样程序可读性不好

板凳

那你介绍一个好点的给我吧!!真的有点复杂不过仔细去看还是可以看得懂的哦!谢谢你的提醒。

3 楼

public class Test {
    public static void main(String[] args) {
        int a = 1;
        int b = 2;
        int c = 3;
        int max = a;
        int min = b;
        max = (a > b) ? a : b;
        min = (a < b) ? a : b;
        max = (c > max) ? c : max;
        min = (c < min) ? c : min;
        System.out.println("max=" + max);
        System.out.println("min=" + min);
    }
}
用3目运算符简单方便,也好理解哦

4 楼

[em1]

5 楼

直接求就可以了啊!
int max=(a>b?a:b)>c?(a>b?a:b):c;
int min=(a<b?a:b)>c?c:(a<b?a:b);
System.out.println("max:"+max+" min:"+min);

6 楼

不错哦!大家一个比一个厉害了哦!!!
哈哈。。。。
来这里我发现可以学到、好多的东西。谢谢朋友们的帮忙!!!

7 楼

做个参考,最好自己也写个,如升序的:

public class Test {
    public static void main(String[] args) {
        Integer[] a = {3,5,9,10,33,90,1};
        Integer[] array = new Integer[a.length];
        array = paixu(a);
        System.out.println("最大值:"+array[0]);
        System.out.println("最小值:"+array[array.length-1]);
    }
    //降序方法
    public static Integer[] paixu(Integer[] array){
        Integer temp1 = 0;
        for(int i=0;i<array.length;i++){
            for(int j=i+1;j<array.length;j++){
                if(array[i]<array[j]){
                    temp1 = array[i];
                    array[i] = array[j];
                    array[j] = temp1;
                }
            }
        }
        return array;
    }
}

8 楼

import java.io.*;
 class Input{
 int i;
 int j;
 int k; 
 public Input(int a,int b,int c){
 i=a;
 j=b;
 k=c;
 }
 public void Bijiao(){
 int max;
 int min;
 if(i>j)
 {
 max=i;min=j;
 }
 else
 { 
 max=j;min=i;
 }
 if(k>max)
 {max=k;
 } 
 if(k<min)
 {min=k;
 }
  System.out.println("最大数是:"+max);
  System.out.println("最小 数是:"+min);
 }
 }
 
public class bijiao{
 public static void main(String args[]){
 String s;
 int a;
 int b;
 int c;
 try
 {BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
  System.out.print("请输入一个数:");
  s=in.readLine(); 
  a=Integer.parseInt(s); 
  System.out.print("请输入另一个数:");
  s=in.readLine();
  b=Integer.parseInt(s); 
  System.out.print("请输入另一个数:");
  s=in.readLine();
  c=Integer.parseInt(s); 
  Input f =new Input(a,b,c);
  f.Bijiao(); 
  }
  catch (Exception e)
  {System.out.println("输入数据有误");
  }
  }
 }

9 楼

int[]arry=new int[3];
for(int i=1;i<3;i++){
String numString=JOptionPane.showInputDialog("Enter a int number");
arry[i]=Integer.parseInt(numString);}
int max=arry[0];
int min=arry[0];
for(int j=0;j<3;j++){
if(arry[i]>max)
max=arry[i];
if(min>arry[i])
min=arry[i];}

10 楼

if(a>b&&a>c)
max=a;
else if(b>c)
max=b;
else max=c;

我来回复

您尚未登录,请登录后再回复。点此登录或注册