2014-09-21 57 views
0

对不起,如果标题含糊不清,并且这不属于这里(因为它更像是一个数学问题),但我有一个问题。如何使数字回到最大值

在这里,我有一个算法,即增加了一些至另一号码(例如,电流+ =步骤),并且如果该数目大于所述最大值时,所述的步骤的其余部分被添加到最小:

int current = 89; 
int step = 4; 
final int max = 90; 
final int min = 29; 

current += step; 
if(current > max) current %= max; 
System.out.println(current + min); // this will give 32 

我的问题是,我该如何做倒退,以便如果数量小于最小值,则剩余部分将从最大值中移除。我尝试了一些不同的东西,但没有一个似乎起作用。

谢谢!

+0

请提供输入VS预期值的一些例子。 – dognose 2014-09-21 20:42:01

回答

2

您可以使用此代码片段:

int current = 30; 
int step = 4; 
current -= step; 
if (current < this.min) { 
    current = this.min - current; 
} 
System.out.println(this.max - current); // this will give 87 
+0

是的,这正是我所需要的。谢谢! – 2014-09-21 20:52:00

相关问题