java为数组赋值

时间:2012-10-16 15:01:56

标签: java arrays

所以我在java中创建一个程序,你输入分数,然后把它们分成十分位数(0-9,10-19,20-29,... 80-89,90-100),我就是掌握了程序应该如何工作,但我缺少一个关键要素。我创建了一个包含10个元素的数组(每个十进制范围一个)。一旦用户输入他们的分数,它除以10,然后需要将分数放入阵列中的适当位置,但这就是我迷失的地方。之后它必须做很多事情,我理解但是当有人进入55以将数组的50-59部分增加1时我该如何告诉代码呢?

6 个答案:

答案 0 :(得分:2)

嗯,听起来你只是想要:

bucketedScores[score / 10]++;
你不是吗?或者可能更清楚:

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

答案 1 :(得分:1)

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

仅供参考,根据您的说法,您将得到一个得分为100的IndexOutOfBoundsException。可能需要处理。

答案 2 :(得分:0)

由于范围是从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}映射到第一个十分位数。

答案 3 :(得分:0)

以这种方式试试....

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

答案 4 :(得分:0)

听起来像

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

虽然100会把它扔掉,但你需要一个特殊情况。

答案 5 :(得分:0)

根据问题 进入循环说例如,我希望你将100个值分成10-10个。使用for循环并通过为每次输入迭代将输入分配给临时变量来检查和分类。

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)
}