簡體   English   中英

java將值分配給數組

[英]java assigning values to an array

所以我正在用Java創建一個程序,在其中輸入分數並將其分類為十分位數(0-9、10-19、20-29,... 80-89、90-100),我已經掌握了關於程序應該如何工作的信息,但是我缺少一個關鍵要素。 我創建了一個包含10個元素的數組(每個十分位范圍一個)。 一旦用戶輸入了分數,它就會除以10,然后需要將分數放入數組中的適當位置,但這就是我迷失的地方。 在那之后,它必須做一堆事情,據我所知,但是當有人輸入55將數組的50-59部分增加1時,我該如何告訴代碼呢?

嗯,聽起來您只想要:

bucketedScores[score / 10]++;

是不是 或更清晰:

bucketedScores[score / 10] = roughScores[score / 10] + 1;
int index = value / 10;
myArray[index] += 1;

僅供參考,按照您所說的,您將獲得一個IndexOutOfBoundsException分數為100。可能需要處理。

由於范圍是從0到101的101個值,因此除除10之外,您需要做的更多。

你是說喜歡嗎?

int[] scores = new int[10];

int decile = ...
int score = ....

scores[Math.min(9, decile/10)] += score;

這樣可以確保將100映射到9。另一個解決方案是使用(int)(decile/10.1) ,它將0到10映射到第一個十分位。

這樣嘗試。

bucketedScores[score / 10] = roughScores[score / 10] + 1;

聽起來好像

int[] myarray = new int[10];
 // Divide and increase the number returned (like 84/10 = 8 in integer division)
myarray[num/10]++

盡管100可以解決這個問題,但是您需要為它准備一個特殊情況。

根據問題進入循環,例如,我希望您將100個值除以10-10。 通過將輸入分配給輸入的每次迭代的臨時變量,用於循環並對其進行檢查和分類。

for(int i=0; i<=100; i++)
{
    if(a[i] >= 0 && a[i] < 10)
                your desired o/p(execution)
     else if(a[i] > 10 && a[i] < 20)
                your desired o/p(execution)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM