gpt4 book ai didi

java - 无法将 Integer 更改为 Double,这会导致我的代码失败

转载 作者:行者123 更新时间:2023-11-30 06:20:34 26 4
gpt4 key购买 nike

我试图将x除以9,当x除以9返回大于1的值时,我继续执行我的代码。但如果 x 是 10 呢? 10 除以 9 返回 1,1,这意味着您只能制作一件元素,并且 0,1 应返回给您。

示例:我有 64 个项目 a,并尝试创建另一个项目 b,它至少需要 9 个项目 a 才能创建一个项目 b 。如果我们将 64 除以 9,则返回 7,1,这意味着我们最多可以获得 7 个项目 b。当我尝试使用 Math.ceil() 对其进行四舍五入时,0,1 给出了 0.0。

有人知道如何得到 64/9 中的 0,1 并将其四舍五入到 1 吗?

这是我尝试过的:

Integer getIronBlocks = ironIngots / 9;
Integer getGoldIngots = goldNuggets / 9;
double ironIngotLeft = Math.ceil(getIronBlocks);
double goldNuggetLeft = Math.ceil(getGoldIngots);

我已经知道这段代码的问题,但不知道如何修复它。假设铁锭 = 64,我们将其除以 9,得到 7,而不是 7,1。将 Integer getIronBlocks 更改为 Double getIronBlocks 将引发 IntelliJ 错误

最佳答案

您需要使用 double 来存储结果并除以 double。

    int ironIngots = 10;
double getIronBlocks = ironIngots / 9.0;
System.out.println("result : "+ getIronBlocks); // ---> 1.111111

https://ideone.com/Yz4yBO

如果除以 int,结果就是 int。

关于java - 无法将 Integer 更改为 Double,这会导致我的代码失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48230458/

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