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.
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 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 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 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 dos metodos
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());
}
}
}
}
Classe do programa principal
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(System.in);
Matricula m = new Aluno();
System.out.println("Digite o nome do aluno");
String nome = scan.nextLine();
System.out.println("Digite o cpf do aluno");
String cpf = scan.nextLine();
m = new Curso();
Curso jaofunc = (Curso)m;
System.out.println("Digite o nome do curso");
String nomecurso = scan.nextLine();
System.out.println("Digite a carga horária");
Integer cargahoraria = scan.nextInt();
System.out.println(m.getAluno());
System.out.println(jaofunc.getNome());
}
}
como faço pra pegar os valores pois nao esta mostrando todos os dados da classe aluno nem os dados da classe curso e esta passando nulo no resultado do programa principal ja sei porque porem como pega esses dados alguem me ajuda?