gpt4 book ai didi

java - for循环中的除数值正在神秘地(?)改变

转载 作者:行者123 更新时间:2023-12-02 01:36:40 24 4
gpt4 key购买 nike

所以我已经在这上面花了几个小时了,老实说我完全陷入困境。我写了一个 for 循环来计算整数中的数字数量,但我发现一旦我输入 10 位以上的数字,除数值就会发生变化,而且我不明白为什么。我在互联网上搜索无果,所以如果您有任何帮助或提示,我将不胜感激。谢谢!

 public static int getNumberOfDigits(long creditCardNumber)
{
//problem with 0's at beginning and more than 10 digits
int nDigitsInCard = 0;
int divisor = (int) creditCardNumber;
for(int i = 0; i <= creditCardNumber; i++){
while(divisor!=0){
divisor/=10;
++nDigitsInCard;
}
}
// return the number of digits in nDigitsInCard

return nDigitsInCard;
}

最佳答案

int 不能容纳大于 2,147,483,647 的数字。您需要坚持使用long来处理更大的数字。

关于java - for循环中的除数值正在神秘地(?)改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55153899/

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