Baixe o app para aproveitar ainda mais
Prévia do material em texto
ATENÇÃO: Toda atividade deverá ser feita com fonte Arial, tamanho 11, espaço de 1,5 entre as linhas e alinhamento justificado entre as margens. class Banca { private String[] membros; public Banca(String... membros) { this.membros = membros; } public String getMembros() { if (membros != null && membros.length > 0) { return String.join(" - ", membros); } return "Sem banca"; } } class TrabalhoFinalGraduacao { private String nota; public TrabalhoFinalGraduacao(String nota) { CURSO: Análise e desenvolvimento de sistemas POLO DE APOIO PRESENCIAL: Higienópolis SEMESTRE: 3 COMPONENTE CURRICULAR / TEMA: Desenvolvimento de sistemas II NOME COMPLETO DO ALUNO: Flávio Morales TIA: 22504907 NOME DO PROFESSOR: Ana Claudia Rossi ATENÇÃO: Toda atividade deverá ser feita com fonte Arial, tamanho 11, espaço de 1,5 entre as linhas e alinhamento justificado entre as margens. this.nota = nota; } public String getNota() { return nota; } } class TrabalhoFinalMestrado { private Banca banca; public TrabalhoFinalMestrado(Banca banca) { this.banca = banca; } public Banca getBanca() { return banca; } } class TrabalhoFinalDoutorado { private Banca banca; public TrabalhoFinalDoutorado(Banca banca) { this.banca = banca; } ATENÇÃO: Toda atividade deverá ser feita com fonte Arial, tamanho 11, espaço de 1,5 entre as linhas e alinhamento justificado entre as margens. public Banca getBanca() { return banca; } } class TrabalhoFinalLatoSensu { // Não há atributos específicos para Lato Sensu } class Aluno { private String nome, nome_curso, nível_curso; private int cód_matrícula, ano_finalização; private boolean é_bolsista, curso_finalizado, tem_trabalho; private double mensalidade_curso, desconto; private Object trabalho_final; public Aluno(String nome, String nome_curso, String nível_curso, int cód_matrícula, boolean é_bolsista, boolean curso_finalizado, boolean tem_trabalho, int ano_finalização, double mensalidade_curso, double desconto, Object trabalho_final) { // Inicialização dos atributos this.nome = nome; this.nome_curso = nome_curso; this.nível_curso = nível_curso; this.cód_matrícula = cód_matrícula; this.é_bolsista = é_bolsista; this.curso_finalizado = curso_finalizado; this.tem_trabalho = tem_trabalho; ATENÇÃO: Toda atividade deverá ser feita com fonte Arial, tamanho 11, espaço de 1,5 entre as linhas e alinhamento justificado entre as margens. this.ano_finalização = ano_finalização; this.mensalidade_curso = mensalidade_curso; this.desconto = desconto; this.trabalho_final = trabalho_final; } public String getMensalidade() { String resp = ""; if (é_bolsista) { // Se for bolsista, aplicar desconto resp += "Bolsista com desconto de: " + desconto + "%\n"; mensalidade_curso *= (1 - desconto / 100); } resp += "Mensalidade: R$ " + mensalidade_curso + "\n"; return resp; } public String getDados() { String resp = "Aluno: " + nome + "\n"; resp += "Curso: " + nível_curso + " em " + nome_curso + "\n"; resp += getMensalidade(); if (curso_finalizado) { resp += "Curso finalizado em " + ano_finalização + "\n"; if (tem_trabalho) { resp += "Título "; ATENÇÃO: Toda atividade deverá ser feita com fonte Arial, tamanho 11, espaço de 1,5 entre as linhas e alinhamento justificado entre as margens. if (nível_curso.equals("Graduação")) { resp += "do TCC: "; // Verificar se é TrabalhoFinalGraduacao resp += trabalho_final instanceof TrabalhoFinalGraduacao ? ((TrabalhoFinalGraduacao) trabalho_final).getNota() : "Sem nota"; } else if (nível_curso.equals("Mestrado")) { resp += "da dissertação: "; // Obter os membros da banca de TrabalhoFinalMestrado resp += ((TrabalhoFinalMestrado) trabalho_final).getBanca().getMembros(); } else if (nível_curso.equals("Doutorado")) { resp += "da tese: "; // Obter os membros da banca de TrabalhoFinalDoutorado resp += ((TrabalhoFinalDoutorado) trabalho_final).getBanca().getMembros(); } else if (nível_curso.equals("Lato sensu")) { resp += "da monografia"; } } } return resp; } } public class Teste { public static void main(String args[]) { Aluno aluno1 = new Aluno("Martin Fowler", "ADS", "Graduação", 11223344, true, false, false, -1, 920.50, 20.5, ATENÇÃO: Toda atividade deverá ser feita com fonte Arial, tamanho 11, espaço de 1,5 entre as linhas e alinhamento justificado entre as margens. new TrabalhoFinalGraduacao("9.5")); Aluno aluno2 = new Aluno("Kent Beck", "Computação Aplicada", "Mestrado", 22334455, false, true, true, 2019, 2150.45, 0, new TrabalhoFinalMestrado(new Banca("Grady Booch", "Erich Gamma"))); // Imprimir os dados dos alunos System.out.println(aluno1.getDados()); System.out.println(aluno2.getDados()); } }
Compartilhar