首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中的数学算法

Java中的数学算法
EN

Stack Overflow用户
提问于 2012-08-19 21:11:48
回答 2查看 844关注 0票数 0

这是我需要帮助的代码。

代码语言:javascript
复制
if (itemAmount >= usedWithAmount) {
    for (int i = 0; i < 10; i++) {
        if (amountToTransfer == 6) {
            usedWithAmount = i;
            break;
        }
        amountToTransfer = itemAmount - i;
        System.out.println(amountToTransfer);
    }
} else if (itemAmount < usedWithAmount) {
    for (int i = 0; i < 10; i++) {
        if (amountToTransfer == 6) {
            itemAmount = i;
            break;
        }
        amountToTransfer = usedWithAmount - i;
    }
}

好吧,人们第一次就听不懂了,所以我会更深入一些。

这是用于我的游戏,你有药水。药水里有一定的药水。最后有(6)的药剂,还有6剂,(5)还有5剂,等等。

我是这样做的,所以当你在另一种药剂上使用一种药剂时,它会将剂量从药剂转移到另一种药剂,以使其充分。

所以让我说我有一个剩余5剂量的药水(表示为itemAmount),我用它在另一个还有2剂量的药水上(表示为usedWithAmount)。

我想要上面的算法做的是,使用第一个药水(ItemAmount)的值,并找出它应该转移多少剂量到另一个药水使它满(6剂量=满)。

因此,如果我使用5剂量的药剂与2剂量的药剂,5剂量的药剂应该失去4剂量,而2剂量的药剂得到4剂量,我希望amountToTransfer(在这种情况下是4)代表从第一项中移除多少剂量,并添加到第二项中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-19 21:36:11

my comment。您可以很容易地使用Math.min解决这个问题。

代码语言:javascript
复制
amountToTransfer = Math.min(itemAmount, 6 - usedWithAmount);

这将返回任何较小的--源药水的剩余部分或填充目标药水所需的数量。

这也可以重写:

代码语言:javascript
复制
final int space = 6 - usedWithAmount;
amountToTransfer = itemAmount < space ? itemAmount : space;

或者,就像大卫写的,

代码语言:javascript
复制
final int space = 6 - usedWithAmount;
if (itemAmount < space) {
  amountToTransfer = itemAmount;
} else {
  amountToTransfer = space;
}
票数 2
EN

Stack Overflow用户

发布于 2012-08-19 21:32:17

不如:

代码语言:javascript
复制
// Figure out how much room is available in the one getting the transfer
amountMissing = 6 - usedWithAmount

// If it has room to hold everything, transfer it all
if (amountMissing >= itemAmount)
{
    amountToTransfer = itemAmount;
}
// Otherwise, transfer as much as it can hold
else
{
    amountToTransfer = amountMissing;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12030048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档