【问题标题】:Simple Math iOS?简单的数学iOS?
【发布时间】:2012-09-15 11:56:27
【问题描述】:

所以在我的应用程序中,我试图在我的一种方法中进行简单的数学运算,而不使用大量的 if/else 语句。

所以我有一个名为“StartInt”的整数,最大值为 13。现在我需要得到的是 FinishInt 一个整数,它将成为这种模式的结果:

StartInt: 13 FinishInt: 1  
StartInt: 12 FinishInt: 2 
StartInt: 11 FinishInt: 3

等...一直到 StartInt 为 1 和 FinishInt 为 13。无论如何我将如何完成这个?我知道这一定很简单,但我的数学不是那么好! :)

【问题讨论】:

    标签: objective-c math integer equation


    【解决方案1】:

    一直到 StartInt 为 0 和 FinishInt 为 13。无论如何 我会做到这一点吗?

    如果startInt = 13 给出finishInt = 1 并且您希望finishInt 每减少startInt 就增加1,那么这将无法正常工作。查看下表:

    13 1 12 2 11 3 10 4 9 5 8 6 7 7 6 8 5 9 4 10 3 11 2 12 1 13

    因此,您在序列的开头或结尾都落后 1。不过,看起来你想要这样的东西:

    (int) calculateFinish(int startInt)
    {
        int finishInt = -1;
        if (startInt >= 0 && startInt <= 13) {
            finishInt = 14 - startInt;
        }
        return finishInt;
    }
    

    startInt = 0 时,finishInt 的值为 14。

    【讨论】:

    • 哎呀抱歉,是的,当 startInt 为 1 时,finishInt 应该为 13。我的错!
    • @iBradApps 在这种情况下,从 14 中减去 startInt 将得到您想要的 finishInt 值。
    • 谢谢 Caleb,出于某种奇怪的原因,我今天的数学很古怪,我想我需要一些方程式来解决这个问题,但我想我不需要! :)
    • @iBradApps 你知道,但这是一个非常简单的等式。 ;-)
    • 还有一个快速的想法或建议。 finishInt 不应该是:startInt +1 - startInt?这样我就只依赖一个值而不是对两个值感到困惑?还是我只是愚蠢;)?
    猜你喜欢
    • 2012-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-10
    • 1970-01-01
    相关资源
    最近更新 更多