2016-12-29 6 views
-2

私はこの練習問題を解決しようとしていますが、私はそうしようとしている間にいくつかの問題に直面しています。論理的には、私は正しいと思っています。私のコードを見て、私を助けてください。配列を順不同で並べ替える - Java

import java.util.Arrays; 
import java.util.Random; 


public class exercicio_4_alapata { 
    public static void main(String[] args) { 

     int [] Array_numal; 
     Array_numal = new int [100]; 

     int [] ArrayOrdenado; 
     ArrayOrdenado = new int [100]; 

     int posicao_array; 
     int posicao_array2 = 0; 

     for (posicao_array = 0; posicao_array < Array_numal.length; posicao_array ++) { 
      Random rand = new Random(); 
      Array_numal [posicao_array] = rand.nextInt(101); 
     } 

     int maior = Array_numal [0]; 


     while (maior != ArrayOrdenado[99]) { 

      for (posicao_array2 = 0; posicao_array2 == 99; posicao_array2 ++) { 

       for (posicao_array = 0; posicao_array < Array_numal.length; posicao_array ++) { 

        if ((Array_numal[posicao_array] > maior) && (maior < ArrayOrdenado [posicao_array2 - 1])) { 
         maior = ArrayOrdenado [posicao_array2]; 
        } 
       } 
      } 
     } 


     for (posicao_array2 = 0; posicao_array2 < ArrayOrdenado.length; posicao_array2 ++) { 
      System.out.println(ArrayOrdenado[posicao_array2]); 
     }  

    } 
} 
+0

? –

+1

'(posicao_array2 = 0; posicao_array2 == 99; posicao_array2 ++)'? outer forループは実行されず、whileは決してブレークしません。 – GurV

+1

よく、私は2番目の配列を印刷するとき、要素を降順に並べたものを作成していますが、それは0しか印刷しません。 –

答えて

1

あなたはは、Arrays.sort(T []、コンパレータC))を使用するように試みることができる:あなたが直面している問題

Arrays.sort(a, Collections.reverseOrder()); 
+1

練習で、私はこれが彼の先生が探しているものだとは思わない –

+0

私は既にコレクションを使ってエクササイズをしました...しかし、私は別の方法でそれをやろうとしています。コレクションを避ける...あなたは私が間違っていると思いますか? –

+1

まず、 'for(posicao_array2 = 0; posicao_array2 == 99; posicao_array2 ++)'は決して動作しません。 '=='の代わりに '<='を使用してください。今のように、そのループは決して実行されません –

関連する問題