java - Mapping a range of positive integers to range of inidices -


basically, need kind of mapping function should map integer (0 - n) index (0 - m). n = 10, m = 3, function should map: 1 -> 0, 2 -> 1, 3 -> 2, 4 -> 3, 5 -> 0, 6 -> 1, 7 -> 2, 8 -> 3, 9 -> 0 , 10 -> 1.

my brain pretty dead ended bull*&^% mapping :)

public int getindexfornumber(int number, int maxindex) {     int max = maxindex;     while (maxindex > 0) {         if (number % maxindex-- == 0) {             return maxindex;         }     }     return max; } 

can please direct me?

why don't return remainder?

public int getindexfornumber(int number, int maxindex) {   return (number - 1) % maxindex;  } 

if negative numbers allowed

public int getindexfornumber(int number, int maxindex) {   int x = (number - 1) % maxindex;     if (x < 0)     x += maxindex;    retrun x;  } 

Comments

Popular posts from this blog

database - VFP Grid + SQL server 2008 - grid not showing correctly -

jquery - Set jPicker field to empty value -

.htaccess - htaccess convert request to clean url and add slash at the end of the url -