所以,这不是关于如何计算数字中的数字。它是如何计算每一个有多少。说:
arr{101, 103, 105, 107, 109, 110}
多少个0,多少个1等等,我想把它放到树形图中
TreeMap<Integer, Integer> tm = new TreeMap<Integer, Integer>();
tm = [0 -> 5, 1 -> 8, 2 -> 0, 3 -> 1, ..., 9 -> 1]
那我该怎么做呢?
数组将是任意大小的,所以我想我可以循环通过它,对于每个新的int,检查每个数字,如果d=0
那么tm。放(d,[increase])
等。但不确定如何增加KV映射中的值。
要对地图中的数字求和,可以执行以下操作:
Map<Integer, Integer> counts = new TreeMap<>();
// your source of the digits will be different
for (int d : new int[] { 1, 1, 1, 2, 2, 3 }) {
counts.merge(d, 1, Integer::sum);
}
然后,地图将包含{1=3,2=2,3=1}
(三个1,两个2,一个3)。
映射的合并
方法的作用是将键(d
,数字)设置为1
,除非该键已经存在于映射中,在这种情况下,它将新值1与现有值(到目前为止的计数)通过调用整数::总和。
使用树状图是非常多余的,你应该可以使用一个数组,其中索引对应于数字(例如。索引0是0的数量,索引5是5的数量)。
要从数字中提取数字,您可以使用%10从除以10得到余数,这将是最低的数字,增加该数字的计数器,然后将数字除以10,直到完成所有数字。
下面的代码应该足够好,不会修改源数组中的任何值。
int array[] = {101, 103, 105, 107, 109, 110};
int digitCount[] = new int[10];
for (int i = 0; i < array.length; i++) {
int num = array[i];
while (num != 0) {
int digit = num % 10;
digitCount[digit]++;
num /= 10;
}
}
问题内容: 我正在尝试计算由文本字段接收的输入填充的数组的总数,均值和中位数。我设法算出了总数和均值,但我只是无法获得中位数。我认为在执行此操作之前需要对数组进行排序,但是我不确定如何执行此操作。这是问题吗,还是我没有找到另一个问题?这是我的代码: 问题答案: Java中的Arrays类具有静态的排序功能,您可以使用调用该功能。
我试图计算由TextField接收的输入填充的数组的总数、平均值和中位数。我已经算出了总数和平均数,但中位数无法计算出来。我认为在我可以这样做之前需要对数组进行排序,但我不确定如何这样做。是这个问题,还是还有一个我没有找到的?下面是我的代码:
本文向大家介绍在C ++中计算整数中的偶数和奇数位,包括了在C ++中计算整数中的偶数和奇数位的使用技巧和注意事项,需要的朋友参考一下 给我们一个整数,任务是计算一个数字中的偶数和奇数。另外,我们将继续检查整数中的偶数是否出现偶数次,并且整数中的奇数位是否出现奇数次。 例如 说明-是的,此外,偶数出现偶数次,即2,奇数位出现奇数次,即3 说明-:否,因为偶数出现的次数是奇数,即3,而奇数出现的次数
问题内容: 我有一个整数数组,我想计算重复出现的元素。首先,我读取数组的大小,并使用从控制台读取的数字对其进行初始化。在数组中,我存储了重复的元素。该数组存储元素连续出现的次数。然后,我尝试搜索重复序列并以特定格式打印它们。但是,它不起作用。 我希望输出看起来像这样: 例如: 如何找到重复的元素及其计数?如何如上所示打印它们? 问题答案: 字典(Java中的HashMap)可以轻松解决此类问题。
我正在尝试在旁边使用值方法。 不幸的是,编译器说不兼容的类型。 如果我将s更改为s,它仍然不喜欢它。
问题内容: Java中还有其他方法可以计算整数的幂吗? 我现在使用,但是它返回一个,这通常是很多工作,并且在您只想使用s 时看起来不太干净(那么幂也会总是产生)。 有没有像Python 一样简单的东西? 问题答案: 整数只有32位。这意味着其最大值为。如您所见,对于非常小的数字,您很快就会得到不能再用整数表示的结果。这就是使用的原因。 如果要任意整数精度,请使用。但这当然效率较低。