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);
}
}
你能說出你的解釋嗎?對不起,我是新手,但我想變得更好:) – StiffWizard
在你的循環(從上面的第4行開始)中,你有一行代碼(第6行)。該行代碼生成1到50之間的隨機數並將其存儲在名爲random的變量中。由於該變量沒有做任何其他操作,因此在循環執行結束時,其中的值會丟失。您的第一個更正是確保您將數組中適當的索引(您的i變量實際上包含該索引)分配給隨機數。爲了做到這一點,你必須瞭解循環和數組的本質。如果你不這樣做,我建議先看看那些。 – dawsonc623
所以我可以打印出每個數字,然後分別顯示每個數字,但現在我怎麼會基本上說「如果下一個數字=> 1 && <= 10,打印一個星號」這是我面臨的最大問題,但我想我也許可以使用for循環來確定數字是什麼,然後可以將它放到其中一個範圍內,但我該怎麼做? – StiffWizard