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