class Curso{
private double mensalidade, desconto;
public Curso
( String nome,
String nivel,
double mensalidade,
double desconto
) { this .nome = nome;
this .nivel = nivel;
this .mensalidade = mensalidade;
this .desconto = desconto;
}
public String getDados
( boolean é_bolsista
) { resp = "Curso: " + this .nivel + " em " + this .nome + "\n " ;
if ( é_bolsista) {
resp += "Bolsista com desconto de: " + this .desconto + "%\n " ;
resp += "Mensalidade: R$ " + this .mensalidade * ( 1 - this .desconto / 100 ) ;
}
else resp += "Mensalidade: R$ " + this .mensalidade ;
return resp;
}
}
class Aluno{
private int cód_matrícula;
private boolean é_bolsista;
private Curso curso;
int cód_matrícula,
boolean é_bolsista,
double mensalidade_curso,
double desconto) {
this .nome = nome;
this .curso = new Curso( nome_curso, nível_curso, mensalidade_curso, desconto) ;
this .c ód_matrícula = cód_matrícula;
this .é_bolsista = é_bolsista;
}
{
String resp
= "Aluno: " + this .
nome + "\n " ; resp += this .curso .getDados ( é_bolsista) ;
return resp;
}
}
class Teste
{
public static void main
( String args
[ ] ) {
Aluno a1 = new Aluno( "Martin Fowler" ,
"ADS" ,
"Graduação" ,
11223344 ,
true ,
920.50 ,
20.5 ) ;
Aluno a2 = new Aluno( "Kent Beck" ,
"Computação Aplicada" ,
"Mestrado" ,
22334455 ,
false ,
2150.45 ,
0 ) ;
System .
out .
println ( a1.
getDados ( ) ) ; System .
out .
println ( a2.
getDados ( ) ) ; }
}
CmNsYXNzIEN1cnNvewogICAgcHJpdmF0ZSBTdHJpbmcgbm9tZSwgbml2ZWw7CiAgICBwcml2YXRlIGRvdWJsZSBtZW5zYWxpZGFkZSwgZGVzY29udG87CiAgICBwdWJsaWMgQ3Vyc28oU3RyaW5nIG5vbWUsIFN0cmluZyBuaXZlbCwgZG91YmxlIG1lbnNhbGlkYWRlLCBkb3VibGUgZGVzY29udG8pewogICAgICAgIHRoaXMubm9tZSA9IG5vbWU7CiAgICAgICAgdGhpcy5uaXZlbCA9IG5pdmVsOwogICAgICAgIHRoaXMubWVuc2FsaWRhZGUgPSBtZW5zYWxpZGFkZTsKICAgICAgICB0aGlzLmRlc2NvbnRvID0gZGVzY29udG87CiAgICB9CgogICAgcHVibGljIFN0cmluZyBnZXREYWRvcyhib29sZWFuIMOpX2JvbHNpc3RhKXsKICAgIAlTdHJpbmcgcmVzcDsKICAgICAgICByZXNwID0gIkN1cnNvOiAiICsgdGhpcy5uaXZlbCArICIgZW0gIiArIHRoaXMubm9tZSArIlxuIjsKICAgICAgICBpZiAow6lfYm9sc2lzdGEpewogICAgICAgICAgICByZXNwICs9ICJCb2xzaXN0YSBjb20gZGVzY29udG8gZGU6ICIgKyB0aGlzLmRlc2NvbnRvICsgIiVcbiI7CgkJCXJlc3AgKz0gIk1lbnNhbGlkYWRlOiBSJCAiICsgdGhpcy5tZW5zYWxpZGFkZSooMS10aGlzLmRlc2NvbnRvLzEwMCk7CiAgICAgICAgfQogICAgICAgIGVsc2UgcmVzcCArPSAiTWVuc2FsaWRhZGU6IFIkICIgKyB0aGlzLm1lbnNhbGlkYWRlOwogICAgICAgIHJldHVybiByZXNwOyAKICAgIH0KfQoKCmNsYXNzIEFsdW5vewoJcHJpdmF0ZSBTdHJpbmcgbm9tZTsKCXByaXZhdGUgaW50IGPDs2RfbWF0csOtY3VsYTsKCXByaXZhdGUgYm9vbGVhbiDDqV9ib2xzaXN0YTsKICAgIHByaXZhdGUgQ3Vyc28gY3Vyc287CgkKCXB1YmxpYyBBbHVubyhTdHJpbmcgbm9tZSwKCQkJCVN0cmluZyBub21lX2N1cnNvLCAKCQkJCVN0cmluZyBuw612ZWxfY3Vyc28sCgkJCQlpbnQgY8OzZF9tYXRyw61jdWxhLAoJCQkJYm9vbGVhbiDDqV9ib2xzaXN0YSwKCQkJCWRvdWJsZSBtZW5zYWxpZGFkZV9jdXJzbywKCQkJCWRvdWJsZSBkZXNjb250bykgewoJCXRoaXMubm9tZSA9IG5vbWU7CgogICAgICAgIHRoaXMuY3Vyc28gPSBuZXcgQ3Vyc28obm9tZV9jdXJzbywgbsOtdmVsX2N1cnNvLCBtZW5zYWxpZGFkZV9jdXJzbywgZGVzY29udG8pOwoJCXRoaXMuY8OzZF9tYXRyw61jdWxhID0gY8OzZF9tYXRyw61jdWxhOwoJCXRoaXMuw6lfYm9sc2lzdGEgPSDDqV9ib2xzaXN0YTsKCQkJCX0KCQkKCQlwdWJsaWMgU3RyaW5nIGdldERhZG9zKCkKCQl7CgkJCVN0cmluZyByZXNwID0gIkFsdW5vOiAiKyB0aGlzLm5vbWUgKyJcbiI7CgkJCXJlc3AgKz0gdGhpcy5jdXJzby5nZXREYWRvcyjDqV9ib2xzaXN0YSk7CgkJCXJldHVybiByZXNwOwoJCX0KfQoKY2xhc3MgVGVzdGUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZyBhcmdzW10pCgl7CgkJQWx1bm8gYTEgPSBuZXcgQWx1bm8oIk1hcnRpbiBGb3dsZXIiLAoJCQkJCQkJIkFEUyIsCgkJCQkJCQkiR3JhZHVhw6fDo28iLAoJCQkJCQkJMTEyMjMzNDQsCgkJCQkJCQl0cnVlLAoJCQkJCQkJOTIwLjUwLAoJCQkJCQkJMjAuNSk7CgkJQWx1bm8gYTIgPSBuZXcgQWx1bm8oIktlbnQgQmVjayIsCgkJCQkJCQkiQ29tcHV0YcOnw6NvIEFwbGljYWRhIiwKCQkJCQkJCSJNZXN0cmFkbyIsCgkJCQkJCQkyMjMzNDQ1NSwKCQkJCQkJCWZhbHNlLAoJCQkJCQkJMjE1MC40NSwKCQkJCQkJCTApOwoJCVN5c3RlbS5vdXQucHJpbnRsbihhMS5nZXREYWRvcygpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oYTIuZ2V0RGFkb3MoKSk7Cgl9Cn0KCQkJ