gpt4 book ai didi

java - 获取数组中 'X'位置的位数

转载 作者:行者123 更新时间:2023-12-01 12:21:53 25 4
gpt4 key购买 nike

我需要创建一个递归函数来返回数组中的位数。

这就是我到目前为止所得到的

public static int Rec(int[] arr, int size)
{
int numbers = 0;

if(size > 0)
{
numbers = String.valueOf(arr[size]).length() + Rec(arr, size-1); //length of digits in array
}

return numbers;

}

但问题是,当它到达那里时,它会使调试崩溃。

我认为是 String.valueOf 导致它崩溃,关于如何获取数组第 x 位的位数有什么想法吗? (arr[x] 中的位数)

最佳答案

问题是您使用的是 5 大小,并且数组中的元素可能少于 5 个(至少在您编辑问题之前)。您正在使用数字变量,记住每次递归调用都会将其重置为 0。

尝试从主方法中调用 Rec(array, array.length - 1):

public static int Rec(int[] arr, int size) {
if (size >= 0) {
return 1 + (int) Math.floor(Math.log10(arr[size])) + Rec(arr, size - 1);//or to keep it simple use String.valueOf(arr[size]).length() instead of 1 + (int) Math.floor(Math.log10(arr[size]))
}
return 0;
}

关于java - 获取数组中 'X'位置的位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26608280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com