我想将我从用户那里获得的输入划分为java中不同的num部分。然后作为输出,每个部分必须有多少个数字。 例如。 1 1 2 3 4 4 5 6 7 8 9 10 11 12
我不知道该如何管理。
答案 0 :(得分:1)
想法是将每个列表element
放入相应的存储桶
存储桶的ID
由element-1/3
计算得出,其中/
是division
,其中remainder
这样的除法产生quotient
和remainder
,并且ID
的存储桶等于quotient
除了0以外,它都可以工作,因此如果有条件,可以将其放入第一个存储桶
答案 1 :(得分:0)
所以。。我有一个主意。在此特定示例中,您具有针对组的步骤3。也许让我们将数字与3进行四舍五入,然后将结果用作组号。例如:Math.ceil(1/3.0) == 1
,所以这是第一组(0-3),对于Math.ceil(5/3.0) == 2
,这是第二组,依此类推。但是请注意Math.ceil(0/3.0) == 0
。
有关四舍五入的参考:Java Round up Any Number
P.S .:请不要怪我,我对stackoverflow的第一个回答。
答案 2 :(得分:0)
您可以通过多种方式进行操作。最简单的方法之一如下:
public class Main {
public static void main(String[] args) {
int[] arr = { 1, 1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
int[] rangeCount = new int[4];
for (int i : arr) {
switch (i) {
case 0:
case 1:
case 2:
case 3:
rangeCount[0]++;
break;
case 4:
case 5:
case 6:
rangeCount[1]++;
break;
case 7:
case 8:
case 9:
rangeCount[2]++;
break;
case 10:
case 11:
case 12:
rangeCount[3]++;
break;
default:
break;
}
}
int x=0;
for(int i=0;i<rangeCount.length;i++) {
System.out.println("In section ("+x+" - "+(x+=x==0?3:2)+") there are "+rangeCount[i]+" numbers");
x++;
}
}
}
输出:
In section (0 - 3) there are 4 numbers
In section (4 - 6) there are 4 numbers
In section (7 - 9) there are 3 numbers
In section (10 - 12) there are 3 numbers