Num array to an int:当数组长度为9时,它工作正常。但是随着长度增加到 10,我没有得到正确的值
Num array to an int: When the length of array is 9, it works fine. But as the length increases to 10, I am not getting the correct val
我有以下数组:
int digits[] = {9,8,7,6,5,4,3,2,1,1};
我希望我的主要功能的输出如下:
9876543211
但我得到:
1286608619
对于 digits = [9,8,7,6,5,4,3,2,1]
我得到了预期的结果 987654321
。
我知道这与 int 的大小有关,有人可以指出我需要做哪些更改吗?
public class practice
{
public static void main(String[] args)
{
int digits[] = {9,8,7,6,5,4,3,2,1,1};
int j = 1;
int sum = 0;
int carry = 0;
for (int i = digits.length-1; i >= 0; i--)
{
sum = sum + digits[i] * j;
j = j * 10;
}
System.out.print(sum);
}
}
将 digit 和 sum 类型从 int 更改为 long
我有以下数组:
int digits[] = {9,8,7,6,5,4,3,2,1,1};
我希望我的主要功能的输出如下:
9876543211
但我得到:
1286608619
对于 digits = [9,8,7,6,5,4,3,2,1]
我得到了预期的结果 987654321
。
我知道这与 int 的大小有关,有人可以指出我需要做哪些更改吗?
public class practice
{
public static void main(String[] args)
{
int digits[] = {9,8,7,6,5,4,3,2,1,1};
int j = 1;
int sum = 0;
int carry = 0;
for (int i = digits.length-1; i >= 0; i--)
{
sum = sum + digits[i] * j;
j = j * 10;
}
System.out.print(sum);
}
}
将 digit 和 sum 类型从 int 更改为 long