gpt4 book ai didi

java - 在 Java 中使用 BigIntegers 作为 while 循环的条件

转载 作者:行者123 更新时间:2023-12-02 12:26:38 27 4
gpt4 key购买 nike

我想在 while 循环条件中使用一个大整数值,但这不起作用。

import java.util.Scanner;
import java.util.StringTokenizer;
public class NiceProbelm2 {
public static void main(String[]args){
Scanner input = new Scanner(System.in);
String number = input.nextLine();
StringTokenizer st = new StringTokenizer(number);
BigInteger base = null;
int power=0;
while (st.hasMoreTokens()) {
String token1 = st.nextToken();
String token2 = st.nextToken();
base = new BigInteger(token1);
power = Integer.parseInt(token2);


}

BigInteger result = base.pow(power);
//long fresult = (long)result;
BigInteger div = new BigInteger("10");
System.out.println(result);
BigInteger sum=null;
//NOt working while(result.compareTo(new BigInteger("0")) > 10 )
{
BigInteger digit = result.mod(div);
result = result.divide(div);
sum = sum.add(digit);

}
System.out.println(sum);
}

}

最佳答案

您永远不应该比较 compareTo() 的返回值0 以外的任何值。( BigInteger.compareTo() 更具体一些,但相同的规则仍然适用)

您可以检查它是否大于 0、小于 0 或等于 0。只有这 3 条信息才是真正相关的。实际值(如果返回 1、10 或 100)并不重要。

关于java - 在 Java 中使用 BigIntegers 作为 while 循环的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4993515/

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