E se invece creassi un array bidimensionale di boolean ? Diciamo una matrice di 5 righe e 8 colonne.
Ora si tratta di disegnare sulla matrice i punti nella posizione in cui servono, così poi con un ciclo di for innestato

codice:
for (int row=0; row<5; row++)
{
  for (int col=0; col<8; col++)
  {
    if (matrice[row][col])
      System.out.print (*);
  }
  System.out.println ();
}
un'altra alternativa potrebbe essere di memorizzare le posizioni in una matrice di interi.
Se una riga del disegno contiene
01234567
*BBB*BB*
Dove B sta per spazio vuoto, la riga nella matrice corrispondente sarà:
int riga = {0,4,-1,-1,-1,...};

Visto che le colonne sono 8 si possono usare come righe della matrice vettori di dimensione 8

ovviamente la stampa diventa un po' più complicata del caso precedente...

Ciao!