Imprimindo um calendario no Console[Probs de formatação]

Bem pessoal estou querendo imprimir um calendario simples no console, mas estou com grandes dificuldade na formatação, se observarem meu programa verá q ele funciona, mas não esta saindo com a formatação correta, jah tem muita coisa aqui e nunca fica bom, teria como alguem me ajudar, código segue abaixo:

[code]import java.util.Scanner;

public class Calendario {
public static void main(String[]args) {

int DiaSem;
int Bissex;
int mes;
int dia;
int aux;

Scanner input = new Scanner(System.in);

do {
System.out.println(" Entre com o dia da semana do primeiro dia do ano");
DiaSem = input.nextInt();
} while((DiaSem < 0) || (DiaSem > 7));

do {
System.out.println(“O ano é bissexto? (0 para não e 1 para sim)”);
Bissex = input.nextInt();
} while(( Bissex != 0) && (Bissex != 1));

aux = 0;

for(mes = 1; mes <=12; mes++) {
System.out.println();
switch(mes) {

  case 1:
     System.out.println("Janeiro");
     break;
  case 2:
     System.out.println("Fevereiro");     
     break;
  case 3:
     System.out.println("Março");     
     break;
  case 4:
     System.out.println("Abril");     
     break;
  case 5:
     System.out.println("Maio");     
     break;
  case 6:
     System.out.println("Junho");             
     break;     
  case 7:
     System.out.println("Julho");             
     break;     
  case 8:
     System.out.println("Agosto");             
     break;     
  case 9:
     System.out.println("Setembro");             
     break;
  case 10:
     System.out.println("Outubro");             
     break;     
  case 11:
     System.out.println("Novembro");             
     break;     
  case 12:
     System.out.println("Dezembro");             
     break;        
 }     
 System.out.println("\n\nDom  Seg  Ter  Qua  Qui  Sex  Sab");
 
 switch(mes) {
 
 case 1:
    aux = 31;
    break;
 case 2:        
    if (Bissex == 0) {
    aux  = 28;
    } else {
    aux = 29;
 }                                                  
    break;
    
 case 3:
     aux = 31;
     break;          
  case 4:
     aux = 30;
     break;           
          
  case 5:
     aux = 31;
     break;               
          
   case 6:
     aux = 30;
     break;                
          
   case 7:
     aux = 31;
     break;        
     
   case 8:
     aux = 31;
     break;               
        
   case 9:
     aux = 30;
     break;            

  case 10:
     aux = 31;
     break;        
     
     
  case 11:
     aux = 30;
     break;            
     
     
  case 12:
     aux = 31;
     break;         
     
 }
 
int aux1 = 1; 
 for(dia = 1; dia <= aux; dia++) {
    if (dia == aux1++) {
       switch(DiaSem) {
       case 1:
          System.out.print (" " + dia);        
          break;
       
       case 2:
          System.out.print ("      " + dia);        
          break;
       
       case 3:
          System.out.print ("           " + dia);        
          break;
       
       case 4:
          System.out.print ("                " + dia);        
          break;
       
       case 5:
          System.out.print ("                     " + dia);        
          break;
       
       case 6:
          System.out.print ("                          " + dia);        
          break;
       
       case 7:
          System.out.print ("                               " + dia);            
          break;
             
       }
       
       DiaSem = DiaSem + 1;
       if (DiaSem == 7) {
          DiaSem = 1;
          System.out.println();
       } else{
            if (DiaSem == 0) {
               if(dia > 9) {
                  System.out.print(" " + dia); 
               } else {
                  System.out.print("   " + dia);     
               }
            } 
       }
          
          System.out.println("");
    }
}

}
}
}

[/code]

Tentei uma versão com vetor aqui mas continua horrivel a formatação, sem falar que me foi proibido o uso de vetores e matrizs :cry:… Ngm ai tem uma ideia msm naum =/

Não sei se vc possui ou se ajudaria… no livro Java Como Programar, dos Deitel, mas lá tem um capítulo apenas de formatação de Strings/datas.
Mas não entendi muito bem a formatação que vc quer fazer…
Poderia dizer como seria essa formatação?

Seria mais ou menos assim

Dom Seg Ter Qua Qui Sex Sab
2 3 4 5 6 7 8

9 10
entendeu, e qndo acabar o mes na hora d entrar no outro eu tenho q ver em qual dia ele vai entra por exemplo, c um mes acaba na segundo o próximo começa na terça… Isso esta me dando muita dor d cabeça, vou dar uma olhada no livro, vlw…

edit: Engraçado eu escrevo aki na caixa d mensagem a formatação q quero
mas na hora q sai sai totalmente errada AFFF :lol:

Mas assim, os dias da semana q tem q ter 2 espaços entre si, e o dia do mes, tem q ficar centralizado com o dia da semana… E tem q ter 2 espaços das linhas dos dias

Dei uma olhada, e eu tentei umas ideias lah mas nunca fica do jeito q quero, aff to quase desistindo jah msm :cry: :cry:

cara, eu nao manjo muito :D, mas no console eu axo dificil vc conseguir uma formatação exata

abraço!!!

No meu programa ai estou imprimindo um mes debaixo do outro
alguem tem ideia de como poderia fazer para imprimir um ao lado do outro
msm a formatação dos numeros naum estando muito boa
alguemtem ideia?

Usa tabulação (/t)