所以在我的应用程序中,我试图在我的一种方法中进行简单的数学计算而不使用大量的if / else语句。
所以我有一个名为'StartInt'的整数,最大值为13.现在我需要得到的是FinishInt一个整数,它将是这种模式的结果:
StartInt: 13 FinishInt: 1
StartInt: 12 FinishInt: 2
StartInt: 11 FinishInt: 3
等......直到StartInt为1且FinishInt为13.无论如何,我将如何实现这一目标?我知道这一定很简单,但我在数学方面并不是那么棒! :)
答案 0 :(得分:6)
一直到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;
}
finishInt
时,startInt = 0
的值为14。