Ajuda Para Imprimir um boletim de notas

Pessoal vocês poderiam me dar uma mão dizendo se esse meu prgrama esta certo. Eu preciso fazer ele imprimir um boletim mas não estou sabendo como alguem pode me dar um help.

O Programa tem que fazer isso:
Criar um menu de controle que contenha as seguintes opções:
Módulo Alunos;
Módulo Professores;
Módulo Disciplinas;
Módulo Notas;
Encerra;
No módulo Alunos o menu terá as seguintes opções:
Cadastrar Aluno (Permitirá inserir o aluno);
Imprimir Dados (Permitirá mostra informações do aluno cadastrado).
No módulo Professores:
Cadastrar Professores (Permitirá cadastrar o professor);
Excluir Professores (Permitirá excluir o professor).
No módulo Disciplinas:
Cadastrar Disciplinas(Permitirá cadastrar a disciplina);
Excluir Disciplinas(Permitirá excluir a disciplina).
No módulo Notas:
Incluir Notas do Aluno (Permitirá incluir notas do aluno em diversas disciplinas);
Excluir Notas do Aluno (Permitirá excluir notas do aluno de uma disciplina especifica);
Imprimir Boletim (Imprimirá o boletim escolar conforme exemplo a seguir).

  Escola JAVA	
 Boletim Escolar	

Matricula: 1112
Nome: João Carlos

Disciplinas Nota
Matemática 7.0
História 9.0
Português 5.0

As minha classes são essa:
Classe Aluno:

[code]import javax.swing.JOptionPane;

public class Aluno {

private int CodAluno;
private String Nome;

public void InserirAluno (int cod, String nmAluno)
{
	CodAluno = cod;
	Nome = nmAluno;
}

public void BuscarAluno (int cod)
{
	if (cod == CodAluno)
	{
		int CodAl = CodAluno;
		String nmAl = Nome;
	}
	else
		cod = 0;
}

public void ImprimirAluno (int cod , String nmAluno)
{
	  // Mostra os resultados da busca
      JOptionPane.showMessageDialog(null,"Código:  " + cod+ " \nNome:  " + nmAluno , "Dados da Busca" ,JOptionPane.YES_NO_CANCEL_OPTION); 
}

}
[/code]

Classe Professor:

[code]import javax.swing.JOptionPane;

public class Professor {

//private static String Excluir = null;
private int CodProf;
private String NomeProf;

public void InserirProfessor (int codiProf , String nmProf)
{
	CodProf = codiProf;
	NomeProf = nmProf;
}

public void ExcluirProfessor()
{
	CodProf = 0;
	NomeProf = null;
}

}
[/code]

Classe Disciplina:

[code]import javax.swing.JOptionPane;

public class Disciplina {

private int codDisc,codProf;
private String NomeDisc;

public void InserirDisciplina (int codDisciplina , String NmDisc , int cdProf )
{
	codDisc = codDisciplina;
	NomeDisc = NmDisc;
	codProf = cdProf;
}

public void ExcluirDisciplina()
{
	codDisc = 0;
	codProf = 0;
	NomeDisc = null;
}

public void ImprimirDisciplinas (int codDisciplina , String NmDisc , int cdProf)
{
	
}

}
[/code]

Classe Notas:

[code]import javax.swing.JOptionPane;

public class Notas {

private int codigo , prof , CodDisciplina;
private double nota;

public void InserirNotas (int cod , int codProf , double valor , int cdDisc)
{
	codigo = cod;
	prof = codProf;
	CodDisciplina = cdDisc;
	nota = valor;
}

public void ExcluirNota()
{
	codigo = 0;
	prof = 0;
	CodDisciplina = 0;
}

public void ImprimirNotas (int cod)
{
	
}

}
[/code]

e a classe IniciarSistema que é a principal:

[code]import javax.swing.JOptionPane;

public class IniciarSistema {

public static void main (String args[])
{
    int cod, codPrf, codDisc, j, k;
	String nmAluno = null, nmProf, nmDisc, cont = null;
	double Notha;

            Aluno ProgAluno = new Aluno();//Cria objeto
            Professor ProgProf = new Professor();
            Disciplina ProgDisciplina = new Disciplina();
            Notas ProgNotas = new Notas();

	while (cont != "100") // Enquanto cont for diferente de 100 ele continua
	{
		// painel que oferece as opções
		String Opcoes = JOptionPane.showInputDialog(null,"Escolha o que você deseja fazer:\n \n 1- Cadastrar Aluno \n" +
				" 2- Buscar Aluno \n\n 3- Cadastrar Professor \n 4- Excluir Professor \n\n 5- Cadastrar Disciplina \n" +
				" 6- Excluir Disciplina \n  \n7- Incluir Notas \n 8- Excluir Notas \n 9- Imprimir Boletim \n","Opções",JOptionPane.YES_NO_CANCEL_OPTION);
		int i = Integer.parseInt(Opcoes); // Converte para Inteiro
		
		if (i == 1) // Se for 1 aparecerá tela de cadastro
		{
			// Tela de cadastro do Nome
			String Nome = JOptionPane.showInputDialog(null,"Digite o " +
					"Nome:","Cadastro",JOptionPane.QUESTION_MESSAGE);
			nmAluno = Nome; // Aqui a variavel nmAluno é igual a Nome
			
			// Tela de cadastro do código do aluno
			String CodAlun = JOptionPane.showInputDialog(null,"Digite o " +
					"Codigo:","Cadastro",JOptionPane.QUESTION_MESSAGE);
			int codigo = Integer.parseInt(CodAlun); // Converte para Inteiro
			cod = codigo; // Aqui a variavel cos é igual a codigo
			
			JOptionPane.showMessageDialog(null,"O Cadastro foi concluido com sucesso!");
		}
		
		else if (i == 2) // Se for 2 imprime os dados do aluno
		{
			String BuscaAluno = JOptionPane.showInputDialog(null,"Digite o Codigo do Aluno a ser buscado: " +
					"","Buscar Aluno",JOptionPane.QUESTION_MESSAGE);
			
			int codi = Integer.parseInt(BuscaAluno); // Converte para String
			cod = codi; // Depois de convertido passa o valor para a variavel cod
			ProgAluno.BuscarAluno(cod);
			ProgAluno.ImprimirAluno(cod, nmAluno);
			}
		
		else if (i == 3)
		{
			String NomeProf = JOptionPane.showInputDialog(null,"Digite o " +
					"Nome:","Cadastro",JOptionPane.QUESTION_MESSAGE);
	    	nmProf = NomeProf;
	    	
	    	String CodProf = JOptionPane.showInputDialog(null,"Digite o " +
	    			"Código:","Cadastro",JOptionPane.QUESTION_MESSAGE);
	    	int code = Integer.parseInt(CodProf);
	    	codPrf = code;
	    	
	    	JOptionPane.showMessageDialog(null,"O Cadastro foi concluido com sucesso!");
		}
		
		else if (i == 4)
		{
	    	String ExcluiProf = JOptionPane.showInputDialog(null,"Digite o Código do Professor a ser Excluido: ");
	    	int codi = Integer.parseInt(ExcluiProf);
	    	
	    	ProgProf.ExcluirProfessor();
	    	JOptionPane.showMessageDialog(null,"Exclusão Concluido com sucesso!");
		}
		
		else if (i == 5)
		{
			for (j = 0 ; j <= 2 ; j++)
			{
			String NmProf1 = JOptionPane.showInputDialog(null,"Digite a " +
					"Disciplina:","Cadastro",JOptionPane.QUESTION_MESSAGE);
			nmDisc = NmProf1;

			String CodDisc = JOptionPane.showInputDialog(null,"Digite o " +
	    			"Código:","Cadastro",JOptionPane.QUESTION_MESSAGE);
			int cdDisc = Integer.parseInt(CodDisc);
			codDisc = cdDisc;
			}
		}
			
			else if (i == 6)
			{
    	    	String ExcluirDisc = JOptionPane.showInputDialog(null,"Digite o Código da Disciplina a ser Excluido: ");
    	    	int exclui = Integer.parseInt(ExcluirDisc);
    	    	
				ProgDisciplina.ExcluirDisciplina();
				JOptionPane.showMessageDialog(null,"Disciplina excluida com sucesso!");
			}
		
			else if (i == 7)
			{
				String Notas = JOptionPane.showInputDialog(null,"Digite o codigo do aluno que você deseja inserir as notas:");
			    double not = Double.parseDouble(Notas);
			    {
			    	for (k = 0 ; k <= 2 ; k++)
			    	{
			    		String Nota = JOptionPane.showInputDialog(null,"Digite a Nota: ","Cadastro de Notas",JOptionPane.QUESTION_MESSAGE);
			    		double Notha1 = Double.parseDouble(Nota);
			    	}
			    		
			    }
			}
			else if (i == 8)
			{
				String ExcluiNota = JOptionPane.showInputDialog(null,"Digite o codigo da Matéria que deseja Excluir a Nota:","Excluir Notas",JOptionPane.QUESTION_MESSAGE);
				double excNota = Double.parseDouble(ExcluiNota);
				
				ProgNotas.ExcluirNota();
				JOptionPane.showMessageDialog(null,"Nota excluida com sucesso!");
			}
		
			else if (i == 9)
			{ 
				
			}
		// Tela que pede se deseja continuar ou não
		String Sair = JOptionPane.showInputDialog(null,"Deseja Continuar:\n[1] SIM\n[2] NÂO \n","Deseja Continuar",JOptionPane.PLAIN_MESSAGE);
        double saida = Integer.parseInt(Sair);
        if (saida == 2) // Se for igual a 2 o programa finaliza
        {
        	cont = "100";
        }


     }
 }

}
[/code]

Tá meio bagunçado, mas por enquanto mesmo é que ele funcione. Se alguém não entendeu o que eu quero é so postar. valew.

Aew pessoal consegui fazer o programa, reescrevi ele denovo.

Pessoal Anexei o meu Programa pra quem quiser dar uma olhada como ficou.

Cara ficou bom mas acho q vc poderia tratar alguns trechos do codigo, como se o cara inserir nota sem cadastrar uma disc no seu prog da umj erro e fecha na hora vc poderia tratar para que mandasse uma menssagem na tela e ele podesse cadastrar uma disc sem ter q rodar o prog de novo, intendeu