Javaの中で3つの数を入力して昇順に出力します——お母さんは二度と私が3つの数を入力して並べ替えることができないことを心配する必要はありません

1599 ワード

Javaで入力した3つの数を昇順で出力
タイトル:3つの数を入力して、そして3つの昇順を出力します
最も愚かで不完全な方法:
if(a>b){
			if(b>c){
				System.out.print(c+" "+b+" "+a);
			}else if (c>b) {
				if (c>a) {
					System.out.print(b+" "+a+" "+c);
				}
				else {
					System.out.print(b+" "+c+" "+a);
				}
			}
		}else if(ac){
				System.out.print(c+" "+a+" "+b);
			}else if (c>a) {
				if (c>b) {
					System.out.print(a+" "+b+" "+c);
				}
				else {
					System.out.print(a+" "+c+" "+b);
				}
			}
		}

何度も比較しましたが、等しい場合は考えていないので、コードを付けるのは面倒です.改善して、交換の方法で:
int temp =0;
		if(a>b){
	      temp=a;a=b;b=temp;
		}
	    if(a>c){
	      temp=a;a=c;c=temp;
	          
	    }    
	    if(b>c){
	      temp=b;b=c;c=temp;
	    }
	    System.out.print(a+" "+b+" "+c);

3つの演算子を使用しますか?やってみましょう
            int max1=0,mid1=0,min1=0;
		    if(a>b)
		    {
		        max1=a>c?a:c;
		        mid1=b>c?b:c;
		        min1=b>c?c:b;
		    }
		    else
		    {
		        max1=b>c?b:c;
		        mid1=b>c?c:b;
		        min1=a>c?c:a;
		    }
		    System.out.println(min1+" "+mid1+" "+max1);

最値を保存し、等しい場合も含めて便利です.もちろん、まず3つの演算子を理解しなければなりません.どういうことですか.
さらに改善します.
         int max1=(a>b?a:b)>c? (a>b?a:b):c;
		 int min1=(a

個人的にはこれが一番簡潔で、はっきりしているほうがいいと思います.お母さんはもう3つの数を入力しない心配はありません.