|
To get a sense of the problem, we again use a concrete example:
|
|
|
half = (number of lines) / 2; if ( number of lines is even ) { line 1: a[0] + a[ half ] line 2: a[1] + a[ half + 1] line 3: a[2] + a[ half + 2] ... last: a[half-1] + a[ half + (half - 1)] } else { line 1: a[0] + a[ half + 1] line 2: a[1] + a[ half + 2] line 3: a[2] + a[ half + 3] ... last-1: a[half-1] + a[ half + half ] last: a[half] } |
half = (number of lines) / 2; if ( number of lines is even ) { line 1: a[0] + a[ half + 0] line 2: a[1] + a[ half + 1] line 3: a[2] + a[ half + 2] ... last: a[(half-1)] + a[ half + (half - 1)] } else { line 1: a[0] + a[ half + 1 + 0] line 2: a[1] + a[ half + 1 + 1] line 3: a[2] + a[ half + 1 + 2] ... last-1: a[half-1] + a[ half + 1 + (half-1) ] last: a[half] } |
/* ================================================== Input: t = array of text nLines = number of lines in array t =================================================== */ public static void printText( String[] t, int nLines ) { int i, half; half = nLines/2; if ( nLines % 2 == 0 ) { // **************************************** // Both columns have same number of lines // **************************************** for (i = 0; i < half; i++) System.out.println(t[i] + " " + t[i+half]); } else { // **************************************** // First column has one more line // **************************************** for (i = 0; i < half; i++) System.out.println(t[i] + " " + t[i+half+1]); System.out.println(t[half]); // Extra line for column 1 } } |
How to run the program:
|