2016-12-29 55 views
-2

我正在尝试解决此练习,但在尝试这样做时遇到了一些问题。从逻辑上讲,我认为我的想法是正确的。你能看看我的代码,并试图帮助我吗?对Decresing Order中的数组排序--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

好吧,当我打印出第二个数组我创建的元素以降序排列时,它只打印零...你会在逻辑上改变什么? –

回答

1

你可以尝试使用Arrays.sort(T []一,比较器C)):

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

作为一项练习,我不认为这是他的老师正在寻找的 –

+0

我已经使用集合完成了练习......但我试图用另一种方式做练习。 。并避免收藏......你认为我做错了什么? –

+1

首先,for(posicao_array2 = 0; posicao_array2 == 99; posicao_array2 ++)将无法工作。使用'<='而不是'=='。现在,该循环将永远不会运行 –