gpt4 book ai didi

Java 嵌套大整数循环不起作用

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

我想用java的biginteger创建一个嵌套循环,但是我的第一个循环有问题。它保持停滞状态,我尝试打印它,它总是2,它没有添加1

Scanner in=new Scanner(System.in);
BigInteger y=in.nextBigInteger();
BigInteger h=BigInteger.valueOf(1);



for(BigInteger i=BigInteger.valueOf(2);i.compareTo(y)<=0;i.add(BigInteger.ONE)){
h=i;
System.out.println(i);
for(BigInteger j=i;j.compareTo(y)<=0;j.add(BigInteger.ONE)){
h=h.multiply(j);
if(h.compareTo(y)==0){
System.out.println(j+" "+i);
}else if(h.compareTo(y)>0){
break;
}
}
}
}
}

最佳答案

来自文档:

add(BigInteger val)

Returns a BigInteger whose value is (this + val).

因此,i.add(1) 的行为方式与 i++ 不同,BigInteger 是不可变的。您需要使用 i = i.add(BigInteger.ONE) 来代替,它应该可以工作。

关于Java 嵌套大整数循环不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41664993/

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