2016-04-11 15 views
0

何が欠けているか教えてください。二つの値が正しくソートされますが、平均ではありません:(ある番号を昇順に出力する(もし - else)java

package com.Star; 

public class Main { 

    public static void main(String[] args) { 

     int a = 89; 
     int b = 96; 
     int c = 88; 

     if (a < b & a < c) 
      System.out.println(a + " " + b + " " + c); 

     if (b < c & b < a) 
      System.out.println(b + " " + c + " " + a); 

     if (c < a & c < b) 
      System.out.println(c + " " + b + " " + a); 

    } 
} 
+0

を使用すると、最大と最小を知っている場合、あなたは常に 'A + B + Cのような平均値を得ることができます。 –

+0

あなたがそれらを順番に印刷しようとしていると仮定すると、各 'if'は最初の値を決定するだけです。例えば、最初の' if'がtrueならば、 'a'は' b'と 'c'の両方よりも小さいので、' a'が最初です。しかし、 'b < c' or 'b > c'かどうかはチェックしません。 – DBug

+1

'if(a

答えて

0

これは、これを行うには正しい方法ではありませんが、あなたは& &で&を交換する場合は、あなたがしなければならないので、あなたは、部分的に正しいコードを得ることができます。。最大 - - min` 3つの要素(NPR)のための6順列をチェックする配列を使用してソート方法を適用

public static void main(String[] args) { 

     int a = 89; 
     int b = 96; 
     int c = 88; 

     if (a < b && b < c) 
      System.out.println(a + " " + b + " " + c); 
     else if (a < c && c < b) 
      System.out.println(a + " " + c + " " + b); 
     else if (b < a && a < c) 
      System.out.println(b + " " + a + " " + c); 
     else if (b < c && c < a) 
      System.out.println(b + " " + c + " " + a); 
     else if (c < a && a < b) 
      System.out.println(c + " " + a + " " + b); 
     else if (c < b && b < a) 
      System.out.println(c + " " + b + " " + a); 

     } 
+0

"b"の数字を変更すると動作しません:(例番号80 –

+0

私は間違いを犯しました。 –

+0

優れています!間違いがどこにあったか教えてください。ありがとうございました。 –

関連する問題