Erro exercicio orientaçao a objeto

1 resposta
programaçãoobjetojava
Dfodani

Ola gente estou fazendo um exercicio para um curso que estou fazendo porem ja comecei so que estou achando que esta errado alguem pode me ajudar?

o exercicio é o seguinte

Programa Principal para entrada de dados , consumo da classe de
GerencimentoMatricula e impressão de dados
No programa principal construa 3 instancias de matricula pedindo para usuário informar os
dados do Aluno e dos Dados do Curso por meio da classe java.util.Scanner no java.
Armazene os dados do aluno digitados pelo usuário em uma instancia de Aluno e os dados
do curso em uma instancia de Curso. Não precisa ser gerado um código sequecial para aluno
neste exercício, sendo assim peça para o usuário informa-lo, apenas para a matricula que será
gerado um código sequencial.
Após isso instancie um objeto do tipo Matricula e vincule a esta os objetos de aluno e
curso recém criados.
Na sequencia instancie a classe GerenciadorMatricula e invoque o metódo de cadastro
passando a matricula recem criada. Este procedimento deve estar dentro de um loop para que
seja realizado 3 matriculas.
Após o loop peça para o usuário digitar um código de um aluno que deseja buscar as
matriculas e imprima todas as matriculas retornadas.

Classe matricula

package br.com.fabricadeprogramador.exerc1;

import java.util.Date;

public class Matricula {

private Integer codigo;
private Date data;
private Curso curso;
private Aluno aluno;
public Object getCurso;
public Object getAluno;
public Object getGetAluno() {
	return getAluno;
}
public void setGetAluno(Object getAluno) {
	this.getAluno = getAluno;
}
public Object getGetCurso() {
	return getCurso;
}
public void setGetCurso(Object getCurso) {
	this.getCurso = getCurso;
}
public Integer getCodigo() {
	return codigo;
}
public void setCodigo(Integer codigo) {
	this.codigo = codigo;
}
public Date getData() {
	return data;
}
public void setData(Date data) {
	this.data = data;
}
public Curso getCurso() {
	return curso;
}
public void setCurso(Curso curso) {
	this.curso = curso;
}
public Aluno getAluno() {
	return aluno;
}
public void setAluno(Aluno aluno) {
	this.aluno = aluno;
}

}

Classe curso

package br.com.fabricadeprogramador.exerc1;

public class Curso extends Matricula {

private String nome;
private Integer cargahoraria;
public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
public Integer getCargahoraria() {
	return cargahoraria;
}
public void setCargahoraria(Integer cargahoraria) {
	this.cargahoraria = cargahoraria;
}

}

Classe Aluno

package br.com.fabricadeprogramador.exerc1;

public class Aluno extends Matricula{

private String nome;
private String cpf;
public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
public String getCpf() {
	return cpf;
}
public void setCpf(String cpf) {
	this.cpf = cpf;
}

}

Classe gerenciador matricula

package br.com.fabricadeprogramador.exerc1;

public class GerenciadorMatricula {

Matricula matricula[] = new Matricula[3];
	int codigoSeq = 0;
	
	public void cadastrar(Matricula nova) {
		if (codigoSeq < matricula.length) {
			matricula[codigoSeq] = nova;
			codigoSeq++;
		}
	}
	public void imprimir() {
		for (int i = 0; i < matricula.length; i++) {
			System.out.println("Código: " + matricula[i].getCodigo() + ", Data: " + matricula[i].getData() + ", Curso: " + matricula[i].getCurso() + ", Aluno: " + matricula[i].getAluno());
			if(matricula[i] instanceof Curso){
				System.out.println("Nome: " + ((Curso) matricula[i]).getNome());
				System.out.println("Carga Horária: " + ((Curso) matricula[i]).getCargahoraria());
			}else if(matricula[i] instanceof Aluno){
				System.out.println("Nome: " + ((Aluno) matricula[i]).getNome());
				System.out.println("Cpf: " + ((Aluno) matricula[i]).getCpf());
			}
		}
	}

}

programa principal matricula

package br.com.fabricadeprogramador.exerc1;

import java.util.Scanner;

public class ProgramaPrincipalMatricula {

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner scan = new Scanner(<a href="http://System.in">System.in</a>);

Matricula m = new Matricula();
Aluno a = new Aluno();
		
		System.out.println("Digite o nome do aluno");
		a.setNome(scan.nextLine());
		System.out.println("Digite o cpf do aluno");
		a.setCpf(scan.nextLine());
			
		
		Curso jaofunc = new Curso();
		System.out.println("Digite o nome do curso");
		jaofunc.setNome(scan.nextLine());
		System.out.println("Digite a carga horária");
        jaofunc.setCargahoraria(scan.nextInt());

                    m.setAluno(a);
                    m.setCurso( jaofunc);
		
		System.out.println(((Aluno) m.getAluno).getNome()+""+((Aluno) m.getAluno).getCpf()+""+((Aluno) m.getCurso).getNome()+""+((Curso) m.getCurso).getCargahoraria());
		
	

	}

}

1 Resposta

IgorPancheski

Olá , tambem sou iniciante , e reparei de primeira vista em seu codigo , ( posso nao ter certeza doque estou falando mais vou apenas comentar), vc criou o "public Object getCurso; , public Objetct getGetAluno; , experimente retirar esses atributos e metodos e colocar dentro do objeto curso e la crie o os getter e setters padroes e os get e set customizados retornando a propiá classe utilizando a palavra reservada this , eu acho que passei por algo parecido. so uma opnião nao tenho certeza mais tenta ai Vlw

Criado 18 de abril de 2017
Ultima resposta 20 de abr. de 2017
Respostas 1
Participantes 2