2016-04-11 16 views
0

Neyin eksik olduğunu söyle! İki değerleri doğru sıralanır, ancak ortalama değil :(olduğuÇıkış numaraları artan düzende (eğer - başka) 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

Eğer max ve min biliyorsanız, her zaman 'a + b + c olarak ortalama alabilirsiniz. –

+0

Sırayla yazdırmaya çalıştığınızı varsayarak, her bir "if" yalnızca ilk değeri belirler. Örneğin, eğer ilk "if" true ise, a 'ilk, çünkü a' her ikisi de 'b' ve' c'. Ancak, b < c' or 'b > c'nin olup olmadığını kontrol etmez. – DBug

+1

'if (a

cevap

0

Bu bunu yapmak için doğru bir yol değildir, ancak & & ile & yerine eğer zorunda beri, kısmen doğru kodu alabilirsiniz .. max - - min` 3 elemanları (nPr) için 6 permütasyon kontrol Diziyi kullanın ve sıralama yöntemini uygulamak

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

konsolunda yeni satırı görüyorsanız, aşağıdaki "b" de değiştirirseniz, işe yaramazsa :(Örnek numarası 80 –

+0

Hata yaptım. –

+0

mükemmel !!! Hata nerede olduğunu söyle? Ve teşekkür ederim :) –