简体   繁体   中英

How to get a new number from original number?

I have a range of numbers from 0 to 9. Now in the below code, I am getting a number which will be between 0 and 9 inclusive.

int number = getRandomNumber(); // this will give me number between 0 and 9 inclusive
int newNumber = ....

Now basis on number variable, I want to generate a newNumber which should also be between 0 and 9 inclusive. This newNumber will be -2 of original number .

  • Now let's say I get number as 5 . Then I need newNumber to be 3 which is -2 of original number.
  • Now let's say I get number as 2 . Then I need newNumber to be 0 which is -2 of original number.
  • Now let's say I get number as 9 . Then I need newNumber to be 7 which is -2 of original number.
  • Now let's say I get number as 1 . Then I need newNumber to be 9 which is -2 of original number.
  • Now let's say I get number as 0 . Then I need newNumber to be 8 which is -2 of original number.

What will be the logic for this so that I can get my newNumber which will always be -2 of original number and will be in between 0 and 9.

Basically my confusion is how to get right value for 1 and 0 case.

So for 1 case if I subtract -2 , I will get -1 but that is not right answer I want to be in between 0 and 9 so I am not sure what will be the logic here?

另一种方法是

int newNumber = (10 + number - 2) % 10;

It is straightforward.

newNumber = number -2;
if(newNumber < 0) newNumber = newNumber+10;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM