Column names would have to come first, assuming you want them to only show up once:
for (int i = 0; i < columnNames.length; ++i)
System.out.println(columNames[i] + "\t");
for (int j = 0; j < numbers.length; ++j)
for (int k = 0; k < numbers[j].length; ++k)
System.out.println(numbers[j][k] + "\t");
If you're using a gui, the JTable itself I believe takes both a String and an Object to create the column names and data.