class Trabalho{
private String tipo, título, orientador
; private double nota;
this .t ítulo = título;
this .orientador = orientador;
this .nota = nota;
switch ( nível_curso)
{
case "Graduação (Bacharelado)" : tipo= "TCC" ; break ;
case "Lato sensu" : tipo = "Monografia" ; break ;
case "Mestrado" : tipo = "Dissertação" ; break ;
case "Doutorado" : tipo = "Tese" ; break ;
}
}
String resp
= "Título do trabalho (" + tipo
+ "): " ; resp += título + "\n " ;
resp += "Orientador(a): Prof. " + orientador + "\n " ;
resp += "Nota: " + nota + "\n " ;
return resp;
}
}
class TrabalhoNulo extends Trabalho{
public TrabalhoNulo( ) {
super ( null ,null ,- 1.0 ,"" ) ;
}
return "Obs: CST não têm obrigatoriedade de trabalho de conclusão\n " ;
}
}
class Curso{
private String nome_curso, nível_curso
; private double mensalidade_curso;
public Curso
( String nome_curso,
String nível_curso,
double mensalidade_curso
) { this .nome_curso = nome_curso;
this .n ível_curso = nível_curso;
this .mensalidade_curso = mensalidade_curso;
}
return "Curso: " + this .n ível_curso + " em " + this .nome_curso + "\n " ;
}
public double getMensalidade( ) {
return mensalidade_curso;
}
return nível_curso;
}
}
class Aluno{
private int cód_matrícula;
private boolean é_bolsista;
private double mensalidade_curso, desconto;
protected Curso curso;
private Trabalho trabalho;
Curso curso,
Trabalho trabalho,
int cód_matrícula,
boolean é_bolsista,
double desconto) {
this .nome = nome;
this .curso = curso;
this .trabalho = trabalho;
this .c ód_matrícula = cód_matrícula;
this .é_bolsista = é_bolsista;
this .desconto = desconto;
}
public String getMensalidadeFinal
( ) { if ( é_bolsista)
{
resp += "Bolsista com desconto de: " + this .desconto + "%\n " ;
resp += "Mensalidade: R$ " + curso.getMensalidade ( ) * ( 1 - this .desconto / 100 ) + "\n " ;
}
else resp += "Mensalidade: R$ " + curso.getMensalidade ( ) + "\n " ;
return resp;
}
{
String resp
= "Aluno: " + this .
nome + "\n " ; resp += curso.getDados ( ) ;
resp += this .getMensalidadeFinal ( ) ;
resp += trabalho.getDados ( ) ;
return resp;
}
}
class Teste
{
public static void main
( String args
[ ] ) {
Curso curso1 = new Curso ( "ADS" , "Graduação" , 809.00 ) ;
Trabalho trabalho1 = new TrabalhoNulo( ) ;
Curso curso2 = new Curso ( "Análise de Dados" , "Mestrado" , 2150.45 ) ;
Trabalho trabalho2 = new Trabalho( "Peter Coad" ,"Impacto da Refatoração" ,9.5 ,curso2.getN ível( ) ) ;
Aluno a1 = new Aluno( "Marcelle Fontoura" ,
curso1,
trabalho1,
11223344 ,
true ,
30.0 ) ;
Aluno a2 = new Aluno( "Patricia Araujo" ,
curso2,
trabalho2,
22334455 ,
false ,
0 ) ;
System .
out .
println ( a1.
getDados ( ) ) ; System .
out .
println ( a2.
getDados ( ) ) ; }
}
Y2xhc3MgVHJhYmFsaG97Cglwcml2YXRlIFN0cmluZyB0aXBvLCB0w610dWxvLCBvcmllbnRhZG9yOwoJcHJpdmF0ZSBkb3VibGUgbm90YTsKCXB1YmxpYyBUcmFiYWxobyAoU3RyaW5nIG9yaWVudGFkb3IsIFN0cmluZyB0w610dWxvLCBkb3VibGUgbm90YSwgU3RyaW5nIG7DrXZlbF9jdXJzbyl7CgkJdGhpcy50w610dWxvID0gdMOtdHVsbzsKCQl0aGlzLm9yaWVudGFkb3IgPSBvcmllbnRhZG9yOwoJCXRoaXMubm90YSA9IG5vdGE7CgkJc3dpdGNoIChuw612ZWxfY3Vyc28pCgkJCQl7CgkJCQkgY2FzZSAiR3JhZHVhw6fDo28gKEJhY2hhcmVsYWRvKSI6IHRpcG89ICJUQ0MiOyBicmVhazsKCQkJCSBjYXNlICJMYXRvIHNlbnN1IjogdGlwbyA9ICJNb25vZ3JhZmlhIjsgYnJlYWs7CgkJCQkgY2FzZSAiTWVzdHJhZG8iOiB0aXBvID0gIkRpc3NlcnRhw6fDo28iOyBicmVhazsKCQkJCSBjYXNlICJEb3V0b3JhZG8iOiB0aXBvID0gIlRlc2UiOyBicmVhazsKCQkJCX0KCX0KCXB1YmxpYyBTdHJpbmcgZ2V0RGFkb3MoKXsKCQlTdHJpbmcgcmVzcCA9ICJUw610dWxvIGRvIHRyYWJhbGhvICgiICt0aXBvKyIpOiAiOwoJCXJlc3AgKz0gdMOtdHVsbyArICJcbiI7CgkJcmVzcCArPSAiT3JpZW50YWRvcihhKTogUHJvZi4gIiArIG9yaWVudGFkb3IgKyAiXG4iOwoJCXJlc3AgKz0gIk5vdGE6ICIgKyBub3RhICsgIlxuIjsKCQlyZXR1cm4gcmVzcDsKCX0KfQogCmNsYXNzIFRyYWJhbGhvTnVsbyBleHRlbmRzIFRyYWJhbGhvewoJcHVibGljIFRyYWJhbGhvTnVsbygpewoJCXN1cGVyKG51bGwsbnVsbCwtMS4wLCIiKTsKCX0KCXB1YmxpYyBTdHJpbmcgZ2V0RGFkb3MoKXsKICAgICAgIAlyZXR1cm4gIk9iczogQ1NUIG7Do28gdMOqbSBvYnJpZ2F0b3JpZWRhZGUgZGUgdHJhYmFsaG8gZGUgY29uY2x1c8Ojb1xuIjsKCX0KfQogCmNsYXNzIEN1cnNvewoJcHJpdmF0ZSBTdHJpbmcgbm9tZV9jdXJzbywgbsOtdmVsX2N1cnNvOwoJcHJpdmF0ZSBkb3VibGUgbWVuc2FsaWRhZGVfY3Vyc287CiAKCXB1YmxpYyBDdXJzbyhTdHJpbmcgbm9tZV9jdXJzbywgU3RyaW5nIG7DrXZlbF9jdXJzbywgZG91YmxlIG1lbnNhbGlkYWRlX2N1cnNvKXsKCQl0aGlzLm5vbWVfY3Vyc28gPSBub21lX2N1cnNvOwoJCXRoaXMubsOtdmVsX2N1cnNvID0gbsOtdmVsX2N1cnNvOwoJCXRoaXMubWVuc2FsaWRhZGVfY3Vyc28gPSBtZW5zYWxpZGFkZV9jdXJzbzsKCX0JCiAKCXB1YmxpYyBTdHJpbmcgZ2V0RGFkb3MoKXsKCQlyZXR1cm4gIkN1cnNvOiAiICsgdGhpcy5uw612ZWxfY3Vyc28gKyAiIGVtICIgKyB0aGlzLm5vbWVfY3Vyc28gKyJcbiI7Cgl9CiAKCXB1YmxpYyBkb3VibGUgZ2V0TWVuc2FsaWRhZGUoKXsKCQlyZXR1cm4gbWVuc2FsaWRhZGVfY3Vyc287Cgl9CiAKCXB1YmxpYyBTdHJpbmcgZ2V0TsOtdmVsKCl7CgkJcmV0dXJuIG7DrXZlbF9jdXJzbzsKCX0KIAp9CiAKY2xhc3MgQWx1bm97Cglwcml2YXRlIFN0cmluZyBub21lOwoJcHJpdmF0ZSBpbnQgY8OzZF9tYXRyw61jdWxhOwoJcHJpdmF0ZSBib29sZWFuIMOpX2JvbHNpc3RhOwoJcHJpdmF0ZSBkb3VibGUgbWVuc2FsaWRhZGVfY3Vyc28sIGRlc2NvbnRvOwoJcHJvdGVjdGVkIEN1cnNvIGN1cnNvOwoJcHJpdmF0ZSBUcmFiYWxobyB0cmFiYWxobzsKIAoJcHVibGljIEFsdW5vKFN0cmluZyBub21lLAoJCQkJQ3Vyc28gY3Vyc28sCgkJCQlUcmFiYWxobyB0cmFiYWxobywKCQkJCWludCBjw7NkX21hdHLDrWN1bGEsCgkJCQlib29sZWFuIMOpX2JvbHNpc3RhLAoJCQkJZG91YmxlIGRlc2NvbnRvKSB7CgkJdGhpcy5ub21lID0gbm9tZTsKCQl0aGlzLmN1cnNvID0gY3Vyc287CgkJdGhpcy50cmFiYWxobyA9IHRyYWJhbGhvOwoJCXRoaXMuY8OzZF9tYXRyw61jdWxhID0gY8OzZF9tYXRyw61jdWxhOwoJCXRoaXMuw6lfYm9sc2lzdGEgPSDDqV9ib2xzaXN0YTsKCQl0aGlzLmRlc2NvbnRvID0gZGVzY29udG87CgkJCQl9CiAKCQlwdWJsaWMgU3RyaW5nIGdldE1lbnNhbGlkYWRlRmluYWwoKXsKCQkJU3RyaW5nIHJlc3AgPSAiIjsKCQkJaWYgKMOpX2JvbHNpc3RhKSAKCQkJewoJCQkJcmVzcCArPSAiQm9sc2lzdGEgY29tIGRlc2NvbnRvIGRlOiAiICsgdGhpcy5kZXNjb250byArICIlXG4iOwoJCQkJcmVzcCArPSAiTWVuc2FsaWRhZGU6IFIkICIgKyBjdXJzby5nZXRNZW5zYWxpZGFkZSgpKigxLXRoaXMuZGVzY29udG8vMTAwKSsiXG4iOwoJCQl9CgkJCWVsc2UgcmVzcCArPSAiTWVuc2FsaWRhZGU6IFIkICIgKyBjdXJzby5nZXRNZW5zYWxpZGFkZSgpKyJcbiI7CgkJCXJldHVybiByZXNwOwoJCX0KIAoJCXB1YmxpYyBTdHJpbmcgZ2V0RGFkb3MoKQoJCXsKCQkJU3RyaW5nIHJlc3AgPSAiQWx1bm86ICIrIHRoaXMubm9tZSArIlxuIjsKCQkJcmVzcCArPSBjdXJzby5nZXREYWRvcygpOwoJCQlyZXNwICs9IHRoaXMuZ2V0TWVuc2FsaWRhZGVGaW5hbCgpOwoJCQlyZXNwICs9IHRyYWJhbGhvLmdldERhZG9zKCk7CiAJCQlyZXR1cm4gcmVzcDsKCQl9Cn0KIApjbGFzcyBUZXN0ZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nIGFyZ3NbXSkKCXsKCQlDdXJzbyBjdXJzbzEgPSBuZXcgQ3Vyc28gKCJBRFMiLCAiR3JhZHVhw6fDo28iLCA4MDkuMDApOwoJCVRyYWJhbGhvIHRyYWJhbGhvMSA9IG5ldyBUcmFiYWxob051bG8oKTsKCQlDdXJzbyBjdXJzbzIgPSBuZXcgQ3Vyc28gKCJBbsOhbGlzZSBkZSBEYWRvcyIsICJNZXN0cmFkbyIsIDIxNTAuNDUpOwoJCVRyYWJhbGhvIHRyYWJhbGhvMiA9IG5ldyBUcmFiYWxobygiUGV0ZXIgQ29hZCIsIkltcGFjdG8gZGEgUmVmYXRvcmHDp8OjbyIsOS41LGN1cnNvMi5nZXROw612ZWwoKSk7CgkJQWx1bm8gYTEgPSBuZXcgQWx1bm8oIk1hcmNlbGxlIEZvbnRvdXJhIiwKCQkJCQkJCWN1cnNvMSwKCQkJCQkJCXRyYWJhbGhvMSwKCQkJCQkJCTExMjIzMzQ0LAoJCQkJCQkJdHJ1ZSwKCQkJCQkJCTMwLjApOwoJCUFsdW5vIGEyID0gbmV3IEFsdW5vKCJQYXRyaWNpYSBBcmF1am8iLAoJCQkJCQkJY3Vyc28yLAoJCQkJCQkJdHJhYmFsaG8yLAoJCQkJCQkJMjIzMzQ0NTUsCgkJCQkJCQlmYWxzZSwKCQkJCQkJCTApOwoJCVN5c3RlbS5vdXQucHJpbnRsbihhMS5nZXREYWRvcygpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oYTIuZ2V0RGFkb3MoKSk7Cgl9Cn0=