根据另一个数组确定数组值

Mat*_*ski 3 java

我正在处理我的一项任务,我正在寻找一些帮助我的一个功能的逻辑.

首先,我有一个要分类的数字数组,然后是一个数字间隔,这个数字决定了每个被绘制的数字在哪个位置进入array2.

即.

int interval = 2;

for(int i = 0; i < array1.length; i++) {
    if((array1[i] > 0) && (array1[i] < interval)) {
        array2[0]++;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,array1中的数字是3.然后我需要另一个if语句,如下所示:

...
}else if((array1[i] > 2) && (array1[i] < interval * 2)) {
    array2[1]++;
}else if((array1[i] > 
Run Code Online (Sandbox Code Playgroud)

你可以开始看到这个问题,我需要继续无限范围的数字.所以我的问题是实现这一目标的更简单方法是什么?或者我已经可以利用这个库了吗?

如果我没有说清楚,我很抱歉,如果没有给我代码,我更愿意.如果有人能够告诉我一个更有效的方法来解决这个问题,我将不胜感激,提前感谢!

编辑:

假设间隔设置为2,并且array1中的数字介于0和10之间,我需要创建一个代码来执行此操作:

2 < numFromArray1 > 0 == array2[0]++
4 < numFromArray1 > 2 == array2[1]++
6 < numFromArray1 > 4 == array2[2]++
8 < numFromArray1 > 6 == array2[3]++
10 < numFromArray1 > 8 == array2[4]++
Run Code Online (Sandbox Code Playgroud)

但是,array1中的数字可以是正数或负数,整数或小数.

dur*_*597 7

使用嵌套循环.显然,间隔的可能性不是很大,因为array2具有固定的大小.因此,如果你遍历array2中的所有单元格,然后做一些数学运算来弄清楚你的条件需要...我不会给出完整的代码(你问我不要,但它看起来像:

for ( ... ) {
    for ( ... ) { 
        if (array1[i] > /* do some math here */ && ... ) {
            array2[/* figure out what this should be too */]++;
        }
    }
 }
Run Code Online (Sandbox Code Playgroud)

希望你能从中找到答案.

顺便说一句,如果您不需要为array2使用数组,请考虑学习LinkedList<?>可以根据需要增加大小的数据结构.

http://docs.oracle.com/javase/1.4.2/docs/api/java/util/LinkedList.html

http://www.dreamincode.net/forums/topic/143089-linked-list-tutorial/