arrays - Way to automate LOADS of nested for-loops? (Java) -


i have 3d integer array of length [9][3][3]. every element in array initialised @ value of 1.

i want last element of array (i.e. [8][2][2]) cycle through values 1 through 9. want same element cycle through them again, every time element before (i.e. [8][2][1]) increases 1 until 9. likewise element cycles through values 1-9 every increase of previous element [8][2][0]. thing can think if manually setting 81 nested for-loops, take forever , incredibly inefficient. i'm sure there's better way.

sorry if i'm not @ explaining myself. let's suppose 3d array output entirely in 1 line. @ first this:

111111111111111111111111111111111111111111111111111111111111111111111111111111111 

then want last digit on right repeatedly cycle through 1-9, , every time happens, 1 left of increases 1. when 1 reaches 9, 1 left of increases 1. , on. repeat 81 elements of array.

what's better way rather 81 nested for-loops?

i apologise inaccuracy of terminology or lack of clarity. i'm self taught , rubbish @ explaining myself.

this complex version of incrementing 81-digit base-9 number, here is. mentioned in comments, might go on life while waiting complete.

public static void main(string[] args) {     int[][][] data = new int[9][3][3];     (int x = 0; x < 9; x++)         (int y = 0; y < 3; y++)             (int z = 0; z < 3; z++)                 data[x][y][z] = 1;     print(data);      outer: while (true) {         int x = 8, y = 2, z = 2;         while (true) {             if (data[x][y][z] < 9) {                 data[x][y][z]++;                 break;             }             data[x][y][z] = 1;             if (--z < 0) {                 z = 2;                 if (--y < 0) {                     y = 2;                     if (--x < 0)                         break outer;                 }             }         }         print(data);     } } private static void print(int[][][] data) {     (int x = 0; x < 9; x++)         (int y = 0; y < 3; y++)             (int z = 0; z < 3; z++)                 system.out.print(data[x][y][z]);     system.out.println(); } 

Comments