java – 根据另一个数组确定数组值
我正在处理我的一项任务,我正在寻找一些帮助我的一个功能的逻辑.
首先,我有一个要分类的数字数组,然后是一个数字间隔,这个数字决定了每个被绘制的数字在哪个位置进入array2. 即. int interval = 2; for(int i = 0; i < array1.length; i++) { if((array1[i] > 0) && (array1[i] < interval)) { array2[0]++; } } 但是,array1中的数字是3.然后我需要另一个if语句,如下所示: ... }else if((array1[i] > 2) && (array1[i] < interval * 2)) { array2[1]++; }else if((array1[i] > 你可以开始看到这个问题是我需要继续无限范围的数字.所以我的问题是实现这一目标的更简单方法是什么?或者我已经可以利用这个库了吗? 如果我没有说清楚,我很抱歉,如果没有给我代码,我更愿意.如果有人能够告诉我一个更有效的方法来解决这个问题,我将不胜感激,提前感谢! 编辑: 假设间隔设置为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]++ 但是,array1中的数字可以是正数或负数,整数或小数. 解决方法
假设我理解问题是正确的,并且间隔将是3,比0,1和2的出现会增加array2 [0],出现3,4和5会增加array2 [1]等等,这将是一个解:
编辑抱歉,你不想看代码.如果你愿意,我可以重新发布它.想想一个真正简单的方法来确定一个数字将在哪个类别.我会尝试给出一个提示. 间隔= 3; 0,1,2 – > 0类 3,4,5 – >第1类 6,7,8 – >第2类 一旦知道了类别,就可以很容易地在array2中增加所需的数字. 看起来像这样: for(int i = 0; i < array1.length; i++) { int category = // determine category here // increase correct position of array2 } 经过一番讨论,这是我的代码: for(int i = 0; i < array1.length; i++) { int category = array1[i] / interval; array2[category]++; } 我的解决方案不适用于负数.此外,它没有指定如何处理它们 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |