gpt4 book ai didi

java - 为什么divide() 函数在Java BigInteger 中不起作用?

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

我正在尝试将变量“c”除以 2(存储在“d”中)。由于某种原因,这并没有发生。我现在正在传递 10 和 2 作为输入。

import java.util.*;
import java.lang.*;
import java.io.*;
import java.math.BigInteger;

class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
Scanner sc = new Scanner(System.in);
BigInteger a = new BigInteger(sc.next());
BigInteger b = sc.nextBigInteger();
BigInteger d = new BigInteger("2");
System.out.println(d);

BigInteger c = a.subtract(b);
c.divide(d);
System.out.println(c);
a.subtract(c);

System.out.println(a);
System.out.println(c);
}
}

如有任何帮助,我们将不胜感激。提前致谢!

最佳答案

您忘记了 BigInteger 是不可变的。这意味着 a.divide(b) 不会更改 a返回结果计算

您需要a = a.divide(b)或类似的东西。

    BigInteger a = new BigInteger(sc.next());
BigInteger b = sc.nextBigInteger();
BigInteger d = new BigInteger("2");
System.out.println(d);

BigInteger c = a.subtract(b);
// HERE!
c = c.divide(d);
System.out.println(c);
// HERE!
a = a.subtract(c);

System.out.println(a);
System.out.println(c);

关于java - 为什么divide() 函数在Java BigInteger 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37653196/

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