2012-09-24 97 views
0

所以在我的應用程序中,我試圖在我的一個方法中做一個簡單的數學計算,而不使用大量的if/else語句。簡單的數學iOS?

所以我有一個名爲「StartInt」的整數這是在最大13.現在我需要得到的是FinishInt一個整數,這將是這種模式的結果:

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

等等......所有直到StartInt的方式是1,FinishInt是13.無論如何,我會如何做到這一點?我知道這一定很簡單,但我在數學上並不是那麼棒! :)

回答

6

一路下來,直到StartInt是0,FinishInt是13.無論如何 我會做到這一點?

不會相當的工作,如果startInt = 13finishInt = 1,你想一個finishInt遞增1的startInt每個遞減。看看下面的表格:

 
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; 
} 

這會給值14爲finishIntstartInt = 0

+0

哎呀抱歉,是的,當startInt是1時,finishInt應該是13.我的錯! –

+0

@iBradApps在這種情況下,從14中減去'startInt'將爲您提供'finishInt'所需的值。 – Caleb

+0

感謝卡萊布,由於一些奇怪的原因,我的數學今天很古怪,我想我需要一些方程,但我想我不會! :) –