2012-12-10 100 views
1

使用隨機類獲取0到99之間的數字並將它們存儲到數組中。使用for循環來獲取每個隨機數,將每個數存儲到數組中,並打印每個值。通過隨機類和排序生成數組的數據

然後使用冒泡排序對數組進行排序,並打印出存儲的數組。

這裏是我的程序

import java.util.Random; 

public class Randomness 
{ 
    public static void main(String[] args) 
    { 
     Random randomNum = new Random(); 
     for (int number = 0; number <= 99; ++number) 
     { 
      int num = randomNum.nextInt(100); 

      System.out.print(num + " "); 

      int numValues = num; 
      int [] values = new int[numValues]; 

      boolean swap; 
      do 
      { 
       swap = false; 
       int temp; 
       for (int count = 0; count < numValues-1; count++) 
        if (values[count] > values[count+1]) 
        { 
         temp = values[count]; 
         values[count] = values[count+1]; 
         values[count+1] = temp; 
         swap = true; 
        } 
      } while (swap); 

      System.out.print(values[count] + " "); 
     } 
    } 
} 

我得到錯誤

是System.out.print(值[計] +「「);數組需要,但隨機發現。

請幫助!

回答

3

您不在數組中創建任何隨機值。您正在創建一個隨機長度的數組(0到99之間)。你需要用隨機初始化你陣列中的每個元素:

Random randomNum = new Random(); 
    int numValues = 100; 
    int[] values = new int[numValues]; 
    for (int number = 0; number < numValues; ++number) 
    { 
     int num = randomNum.nextInt(100); 
     System.out.print(num + " "); 

     values[number] = num; 
    } 

然後做氣泡排序。

+0

謝謝allot男人我感謝所有的幫助。 是 System.out.print(values [count] +「」); 對不對? 仍然出現錯誤... 我固定在頂部,你說,像複製,但仍然沒有希望。非常感謝幫助我。 –

+0

@AvoKoburyan首先,'count' int在你的System.out.print(values [count] +「」);'line中超出了範圍。不知道你是如何得到它的編譯。 –