2016-12-29 3 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 루프는 절대로 실행되지 않고 절대 실행되지 않습니다. – GurV

+1

글쎄, 두 번째 배열을 인쇄 할 때 요소가 감소한 순서로 정렬되어 생성되며 0 만 인쇄됩니다 ... 논리의 관점에서 무엇을 변경하겠습니까? –

답변

1

당신은 Arrays.sort에 (T []는, 비교기 C)) 사용을 시도 할 수 있습니다 : 당신이

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

운동으로, 나는 이것이 그의 선생님이 찾고있는 것이라고 생각하지 않는다. –

+0

나는 이미 교실을 사용하여 운동을 해왔다 ... 그러나 나는 다른 방식으로 그것을하려고 노력 중이다. 컬렉션을 피하는 ... 내가 뭘 잘못하고 있다고 생각하니? –

+1

우선,'for (posicao_array2 = 0; posicao_array2 == 99; posicao_array2 ++)'는 절대로 작동하지 않을 것입니다. '=='대신'<='를 사용하십시오. 지금은 그 루프가 실행되지 않을 것입니다 –