2014-04-01 177 views
-1

隨機值的數組這是分配1.冒泡排序的1-100

現在我要創建同樣的事情,但使用1-100值的隨機排列,我不知道如何實現一個成我已經擁有了。

public class Test { 

    public static void main(String a[]) { 
    int i; 



    int[] array = {9,1,5,8,7,2,1,5,5,6,8,15,3,9,19,18,88,10,1,100,4,8}; 
    System.out.println("Values Before the sort:\n"); 
    for (i = 0; i < array.length; i++) 
     System.out.print(array[i] + " "); 
    System.out.println(); 
    bubble_srt(array, array.length); 
    System.out.print("Values after the sort:\n"); 
    for (i = 0; i < array.length; i++) 
     System.out.print(array[i] + " "); 
    System.out.println(); 



} 

public static void bubble_srt(int a[], int n) { 
    int i, j, t = 0; 
    for (i = 0; i < n; i++) { 
     for (j = 1; j < (n - i); j++) { 
      if (a[j - 1] > a[j]) { 
       t = a[j - 1]; 
       a[j - 1] = a[j]; 
       a[j] = t; 
      } 
     } 
    } 
} 
+1

看看'隨機'類。 –

+0

正如@ZouZou所說的,使用Random類爲你生成100個隨機值。 – Cheesebaron

+1

歡迎來到SO。開發人員(或任何人)能夠擁有的最重要的技能是瞭解如何在Google上查找事物。如果您在Google中輸入「java random」,您將獲得數千次點擊,並在第一頁提供大量有用信息。 –

回答

1

你需要使用一個隨機數發生器得到的數字。 對於大小的數組x它會是這樣的:

int[] array = new int[X]; 
Random random = new Random(); 

for (int i = 0; i < X; i++) 
    array[i] = random.nextInt(100) + 1; 

你應該看一看爲Random的文檔。

0
public void generateRandom() 
{ 
    int[] x = new int[100]; // This initializes an array of length 100 
    Random rand = new Random(); 
    for(int i = 0; i < 100; i++) 
    { 
     x[i] = rand.nextInt(100); // Use the random class to generate random integers (and give boundaries) 
    } 
} 
+1

請不要爲他人做作業。 –

+0

@Dylan:這不會產生'1-100'的指定範圍。實際上,'nextInt(int start,int end)'甚至不是Random類的有效方法。 –

+0

糟糕的是,它發生在混合語言時:P –

0

我會迴應吉姆在評論中所說的話。作爲一名軟件開發人員,資源豐富是一項重要的技能。谷歌搜索很快就會出現一個有用的文章,如this one

您需要使用Random類來完成此操作。在nextInt(INT n)的用法

Random randomGenerator = new Random(); 
int array = new int[100]; 
for (int idx = 0; idx < 100; ++idx){ 
    array[idx] = randomGenerator.nextInt(100) + 1; 
} 

注方法:

它產生在0(含)和指定的整數(不包括)的僞隨機整數。這就是將1添加到nextInt(100)的輸出中的原因,因爲它會根據需要將輸出範圍從0-99轉換爲1-100