import java.awt.Font; import java.util.Arrays; import java.util.Random; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTextArea; /** * * @author Bill Kraynek */ public class RecursiveGridSum { /** * @param args the command line arguments */ public static void main(String[] args) { String out = ""; int[][] solution = new int[5][7]; Random random = new Random(); for( int i = 0; i < solution.length; i++) { for( int j = 0; j < solution[0].length; j++) { solution[i][j] = random.nextInt(10); }// en for }// end for out += "Number of columns is " + solution[0].length + "\n\n"; out += "Number of rows is " + solution.length + "\n\n"; out += "2 D array is\n"; for( int i = 0; i < solution.length; i++) out += Arrays.toString(solution[i]) + "\n"; out += "\nSum is " + sum(solution); JTextArea area = new JTextArea(out,20,30); area.setFont(new Font(Font.MONOSPACED,Font.BOLD,20)); JOptionPane.showMessageDialog(null, new JScrollPane(area)); } static int sum(int[][] grid) { return sum(grid,0,0); }// end sum static int sum(int[][] grid, int row, int col){ if( row >= grid.length ) return 0; if( col >= grid[0].length ) return sum(grid,row+1,0); return grid[row][col] + sum(grid,row,col+1); }// end sum }