2015-12-23 35 views
1

我有一個程序,基本上需要隨機一串數字以陣列,然後計算一個範圍內的數被發現的時間量。然後,它會打印出來,例如,添加一個星號每次數顯示出來在Array

0  | *** 

1-10 | ************ 

11-20 | ********** 

21-30 | ********* 

31-40 | ************** 

41-50 | ********* 

我的問題是,我不能把數字填進範圍,所以我把一些臨時範圍到下面我的代碼向你展示什麼樣的傢伙,我想更多信息:

公共類陣列{

public static void main(String[] args) { 
    int numbers[]=new int[50]; 
    String asterisk = "*"; 
    String asterisk1 = "*"; 
    String asterisk2 = "*"; 
    String asterisk3 = "*"; 
    String asterisk4 = "*"; 
    String asterisk5 = "*"; 
    for (int i = 0; i <= numbers.length; i++) 
    { 
     numbers [i] = (int)(Math.random()*50); 
     if (numbers = 0) 
     { 
      asterisk += 1; 
     } 
     if (numbers >= 1 && numbers >= 10) 
     { 
      asterisk1 += 1; 
     } 
     if (numbers >= 11 && numbers >= 20) 
     { 
      asterisk2 += 1; 
     } 
     if (numbers >= 21 && numbers >= 30) 
     { 
      asterisk3 += 1; 
     } 
     if (numbers >= 31 && numbers >= 40) 
     { 
      asterisk4 += 1; 
     } 
     if (numbers >= 41 && numbers >= 50) 
     { 
      asterisk5 += 1; 
     } 
    } 
    System.out.format("%0s, %6s, %8s", "0", "|", asterisk); 
    System.out.format("%0s, %6s, %8s", "1-10", "|", asterisk1); 
    System.out.format("%0s, %6s, %8s", "11-20", "|", asterisk2); 
    System.out.format("%0s, %6s, %8s", "21-30", "|", asterisk3); 
    System.out.format("%0s, %6s, %8s", "31-40", "|", asterisk4); 
    System.out.format("%0s, %6s, %8s", "41-50", "|", asterisk5); 
} 

}

回答

1

給你一點點微調,你似乎並不在陣列中被保存的隨機數。您將它們設置爲循環內部的變量,它不會超出循環。

另外,你的數組被設置爲保存51個整數,但你的循環只會插入前50個。這並不一定會破壞你的程序,但是確保你所有的數字都匹配是很好的。

至於計數,你的水桶似乎是在十組,所以基於什麼「十位」的值一些數學問題的號碼包含將是一個很好的一步。我不只是想把這個算法交給你,因爲學習解決這些問題對於你作爲開發人員的持續增長是至關重要的。

+0

你能說出你的解釋嗎?對不起,我是新手,但我想變得更好:) – StiffWizard

+0

在你的循環(從上面的第4行開始)中,你有一行代碼(第6行)。該行代碼生成1到50之間的隨機數並將其存儲在名爲random的變量中。由於該變量沒有做任何其他操作,因此在循環執行結束時,其中的值會丟失。您的第一個更正是確保您將數組中適當的索引(您的i變量實際上包含該索引)分配給隨機數。爲了做到這一點,你必須瞭解循環和數組的本質。如果你不這樣做,我建議先看看那些。 – dawsonc623

+0

所以我可以打印出每個數字,然後分別顯示每個數字,但現在我怎麼會基本上說「如果下一個數字=> 1 && <= 10,打印一個星號」這是我面臨的最大問題,但我想我也許可以使用for循環來確定數字是什麼,然後可以將它放到其中一個範圍內,但我該怎麼做? – StiffWizard