Velocity Reviews > Java > Java N-ary Counter

# Java N-ary Counter

Hanky Sjafrie
Guest
Posts: n/a

 09-19-2003
Greetings,

I need help on implementing a N-ary counter, which iterates from zero
to the maximum value allowed for each column. The maximum value of
n-th column should corresponds to the n-th value of the input array,
for example:

int[] inputArray ={2,1,3};

The output should be stored in a double array:
int[][] outputArray = new int[2*1*3][inputArray.length];

which has the values like these:
outputArray[0][] = {0,0,0}
outputArray[1][] = {0,0,1}
outputArray[2][] = {0,0,2}
outputArray[3][] = {1,0,0}
outputArray[4][] = {1,0,1}
outputArray[5][] = {1,0,2}

Probably a recursive will do, but I'm still out of luck...
Any help would be greatly appreciated. Thanks in advance!

Regards,

Hanky

pete kirkham
Guest
Posts: n/a

 09-20-2003
Hanky Sjafrie wrote:
> I need help on implementing a N-ary counter

> The output should be stored in a double array:

By which you mean an integer array of rank 2.

Assuming this is probably homework, you need to look at the 'modulus'
operator % (strictly the remainder operator, as the behaviour differs
for negative integers), and think carrying the overflow from one digit
to the next. That can be done quite easily iteratively, by a loop that
starts at the least significant digit and increments until the most
sig'nt digit is reached, or of course recursively if you really want to.

Pete