Baixe o app para aproveitar ainda mais
Prévia do material em texto
Gabarito A1 - Prof. Marco Esteves – 2015/2 Programação Orientada a Objetos II Turma 5SIS33A QUESTÃO 1 (5,0) package academico; import gerencial.Curso; public class Aluno { private static int proxMat=0; private int mat; private String nome; private Curso curso; public Aluno() { mat = ++proxMat; } public Aluno( String nome, Curso curso) { this.nome = nome; this.curso = curso; } public int getMat() { return mat; } public void setMat(int mat) { this.mat = mat; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public Curso getCurso() { return curso; } public void setCurso(Curso curso) { this.curso = curso; } public void inscreverAluno(Curso curso) { try { if (curso == null) this.curso = curso; else throw new Exception("O aluno "+nome+"ja esta cursando "+curso.getDescricao()); } catch (Exception e) { System.out.println(e.getMessage()); } } public String listarCurso() { return String.format("Descrição do Curso: %s \nMedia: %,.1f",curso.getDescricao(),curso.apurarMedia()); } } package gerencial; public abstract class Curso { private int cod; private String descricao; public Curso() { super(); } public Curso( int cod, String descricao ) { this.cod = cod; this.descricao = descricao; } public int getCod() { return cod; } public void setCod(int cod) { this.cod = cod; } public String getDescricao() { return descricao; } public void setDescricao(String descricao) { this.descricao = descricao; } public abstract float apurarMedia(); } package gerencial; public class CursoPosGraduacao extends Curso { private float trabalho; private float nota; public float getNota() { return nota; } public void setNota(float nota) { this.nota = nota; } public float getTrabalho() { return trabalho; } public void setTrabalho(float trabalho) { this.trabalho = trabalho; } public CursoPosGraduacao() { super(); } public CursoPosGraduacao(int cod, String descricao, float trabalho, float nota) { super(cod, descricao); this.trabalho = trabalho; this.nota = nota; } @Override public float apurarMedia() { return (trabalho + nota) / 2; } } package gerencial; public class CursoGraduacao extends Curso { private float nota1, nota2, nota3; public CursoGraduacao() { super(); } public CursoGraduacao(int cod, String descricao, float nota1, float nota2, float nota3) { super(cod, descricao); this.nota1 = nota1; this.nota2 = nota2; this.nota3 = nota3; } @Override public float apurarMedia() { return (nota1 + nota2 + nota3 * 3) / 4; } public float getNota1() { return nota1; } public void setNota1(float nota1) { this.nota1 = nota1; } public float getNota2() { return nota2; } public void setNota2(float nota2) { this.nota2 = nota2; } public float getNota3() { return nota3; } public void setNota3(float nota3) { this.nota3 = nota3; } } QUESTÃO 2 (5,0) package questao4; import gerencial.Curso; import gerencial.CursoGraduacao; import gerencial.CursoPosGraduacao; import java.util.Scanner; import academico.Aluno; public class Questao4 { public static void main(String[] args) { Aluno vet[] = new Aluno[4]; Scanner in = new Scanner(System.in); for (int i=0; i<4; i++) { Aluno al = new Aluno(); if (i < 2) { CursoPosGraduacao pos = new CursoPosGraduacao(); System.out.println("Aluno de Pos-Graduacao"); System.out.print("Entre com o nome do aluno: "); al.setNome(in.nextLine()); System.out.print("Entre com o codigo da Pos: "); pos.setCod(in.nextInt()); System.out.print("Entre com a descricao da Pos: "); pos.setDescricao(in.next()); System.out.print("Entre com a nota do trabalho: "); pos.setTrabalho(in.nextFloat()); System.out.print("Entre com a nota: "); pos.setNota(in.nextFloat()); in.nextLine(); al.setCurso(pos); vet[i] = al; } else { CursoGraduacao grad = new CursoGraduacao(); System.out.println("Aluno de Graduacao"); System.out.print("Entre com o nome do aluno: "); al.setNome(in.nextLine()); System.out.print("Entre com o codigo da Graduacao: "); grad.setCod(in.nextInt()); System.out.print("Entre com a descricao da Graduacao: "); grad.setDescricao(in.next()); System.out.print("Entre com a nota 1: "); grad.setNota1(in.nextFloat()); System.out.print("Entre com a nota 2: "); grad.setNota2(in.nextFloat()); System.out.print("Entre com a nota 3: "); grad.setNota3(in.nextFloat()); al.setCurso(grad); in.nextLine(); vet[i] = al; } } for (int i=0; i<4; i++) { System.out.println("\n"+vet[i].listarCurso()); } } }
Compartilhar