class Aluno {
private int codigoMatricula;
private boolean bolsista;
private double mensalidadeCurso;
private double desconto;
private boolean trabalhoFinalObrigatorio;
private boolean cursoFinalizado;
private int anoConclusao;
boolean bolsista, double mensalidadeCurso, double desconto,
boolean trabalhoFinalObrigatorio, boolean cursoFinalizado, int anoConclusao) {
this .nome = nome;
this .nomeCurso = nomeCurso;
this .nivelCurso = nivelCurso;
this .codigoMatricula = codigoMatricula;
this .bolsista = bolsista;
this .mensalidadeCurso = mensalidadeCurso;
this .desconto = desconto;
this .trabalhoFinalObrigatorio = trabalhoFinalObrigatorio;
this .cursoFinalizado = cursoFinalizado;
this .anoConclusao = anoConclusao;
}
String dadosAluno
= "Aluno: " + nome
+ "\n " ; dadosAluno += "Curso: " + nivelCurso + " em " + nomeCurso + "\n " ;
dadosAluno += "Mensalidade: R$ " + ( bolsista ? calcularMensalidadeComDesconto( ) : mensalidadeCurso) + "\n " ;
if ( bolsista) {
dadosAluno += "Bolsista com desconto de: " + desconto + "%\n " ;
}
if ( trabalhoFinalObrigatorio) {
dadosAluno += "Trabalho final: " + nomeTrabalhoFinal( ) + "\n " ;
}
dadosAluno += "Curso " + ( cursoFinalizado ? "finalizado" : "em andamento" ) ;
if ( cursoFinalizado) {
dadosAluno += " em " + anoConclusao;
}
return dadosAluno;
}
private double calcularMensalidadeComDesconto( ) {
return mensalidadeCurso * ( 1 - desconto / 100 ) ;
}
private String nomeTrabalhoFinal
( ) { switch ( nivelCurso.toLowerCase ( ) ) {
case "graduação" :
return "TCC" ;
case "mestrado" :
return "Dissertação" ;
case "doutorado" :
return "Tese" ;
default :
return "Trabalho Final" ;
}
}
}
// Classe principal com main
public class Main {
public static void main
( String [ ] args
) { Aluno aluno1 = new Aluno( "Matheus" , "Engenharia" , "Graduação" , 12345 ,
true , 1500.0 , 20 , true , true , 2024 ) ;
System .
out .
println ( aluno1.
getDados ( ) ) ;
Aluno aluno2 = new Aluno( "Ana" , "Medicina" , "Mestrado" , 54321 ,
false , 2000.0 , 0 , true , false , 0 ) ;
System .
out .
println ( aluno2.
getDados ( ) ) ; }
}
Y2xhc3MgQWx1bm8gewogICAgcHJpdmF0ZSBTdHJpbmcgbm9tZTsKICAgIHByaXZhdGUgU3RyaW5nIG5vbWVDdXJzbzsKICAgIHByaXZhdGUgU3RyaW5nIG5pdmVsQ3Vyc287CiAgICBwcml2YXRlIGludCBjb2RpZ29NYXRyaWN1bGE7CiAgICBwcml2YXRlIGJvb2xlYW4gYm9sc2lzdGE7CiAgICBwcml2YXRlIGRvdWJsZSBtZW5zYWxpZGFkZUN1cnNvOwogICAgcHJpdmF0ZSBkb3VibGUgZGVzY29udG87CiAgICBwcml2YXRlIGJvb2xlYW4gdHJhYmFsaG9GaW5hbE9icmlnYXRvcmlvOwogICAgcHJpdmF0ZSBib29sZWFuIGN1cnNvRmluYWxpemFkbzsKICAgIHByaXZhdGUgaW50IGFub0NvbmNsdXNhbzsKCiAgICBwdWJsaWMgQWx1bm8oU3RyaW5nIG5vbWUsIFN0cmluZyBub21lQ3Vyc28sIFN0cmluZyBuaXZlbEN1cnNvLCBpbnQgY29kaWdvTWF0cmljdWxhLAogICAgICAgICAgICAgICAgIGJvb2xlYW4gYm9sc2lzdGEsIGRvdWJsZSBtZW5zYWxpZGFkZUN1cnNvLCBkb3VibGUgZGVzY29udG8sCiAgICAgICAgICAgICAgICAgYm9vbGVhbiB0cmFiYWxob0ZpbmFsT2JyaWdhdG9yaW8sIGJvb2xlYW4gY3Vyc29GaW5hbGl6YWRvLCBpbnQgYW5vQ29uY2x1c2FvKSB7CiAgICAgICAgdGhpcy5ub21lID0gbm9tZTsKICAgICAgICB0aGlzLm5vbWVDdXJzbyA9IG5vbWVDdXJzbzsKICAgICAgICB0aGlzLm5pdmVsQ3Vyc28gPSBuaXZlbEN1cnNvOwogICAgICAgIHRoaXMuY29kaWdvTWF0cmljdWxhID0gY29kaWdvTWF0cmljdWxhOwogICAgICAgIHRoaXMuYm9sc2lzdGEgPSBib2xzaXN0YTsKICAgICAgICB0aGlzLm1lbnNhbGlkYWRlQ3Vyc28gPSBtZW5zYWxpZGFkZUN1cnNvOwogICAgICAgIHRoaXMuZGVzY29udG8gPSBkZXNjb250bzsKICAgICAgICB0aGlzLnRyYWJhbGhvRmluYWxPYnJpZ2F0b3JpbyA9IHRyYWJhbGhvRmluYWxPYnJpZ2F0b3JpbzsKICAgICAgICB0aGlzLmN1cnNvRmluYWxpemFkbyA9IGN1cnNvRmluYWxpemFkbzsKICAgICAgICB0aGlzLmFub0NvbmNsdXNhbyA9IGFub0NvbmNsdXNhbzsKICAgIH0KCiAgICBwdWJsaWMgU3RyaW5nIGdldERhZG9zKCkgewogICAgICAgIFN0cmluZyBkYWRvc0FsdW5vID0gIkFsdW5vOiAiICsgbm9tZSArICJcbiI7CiAgICAgICAgZGFkb3NBbHVubyArPSAiQ3Vyc286ICIgKyBuaXZlbEN1cnNvICsgIiBlbSAiICsgbm9tZUN1cnNvICsgIlxuIjsKICAgICAgICBkYWRvc0FsdW5vICs9ICJNZW5zYWxpZGFkZTogUiQgIiArIChib2xzaXN0YSA/IGNhbGN1bGFyTWVuc2FsaWRhZGVDb21EZXNjb250bygpIDogbWVuc2FsaWRhZGVDdXJzbykgKyAiXG4iOwogICAgICAgIGlmIChib2xzaXN0YSkgewogICAgICAgICAgICBkYWRvc0FsdW5vICs9ICJCb2xzaXN0YSBjb20gZGVzY29udG8gZGU6ICIgKyBkZXNjb250byArICIlXG4iOwogICAgICAgIH0KICAgICAgICBpZiAodHJhYmFsaG9GaW5hbE9icmlnYXRvcmlvKSB7CiAgICAgICAgICAgIGRhZG9zQWx1bm8gKz0gIlRyYWJhbGhvIGZpbmFsOiAiICsgbm9tZVRyYWJhbGhvRmluYWwoKSArICJcbiI7CiAgICAgICAgfQogICAgICAgIGRhZG9zQWx1bm8gKz0gIkN1cnNvICIgKyAoY3Vyc29GaW5hbGl6YWRvID8gImZpbmFsaXphZG8iIDogImVtIGFuZGFtZW50byIpOwogICAgICAgIGlmIChjdXJzb0ZpbmFsaXphZG8pIHsKICAgICAgICAgICAgZGFkb3NBbHVubyArPSAiIGVtICIgKyBhbm9Db25jbHVzYW87CiAgICAgICAgfQogICAgICAgIHJldHVybiBkYWRvc0FsdW5vOwogICAgfQoKICAgIHByaXZhdGUgZG91YmxlIGNhbGN1bGFyTWVuc2FsaWRhZGVDb21EZXNjb250bygpIHsKICAgICAgICByZXR1cm4gbWVuc2FsaWRhZGVDdXJzbyAqICgxIC0gZGVzY29udG8gLyAxMDApOwogICAgfQoKICAgIHByaXZhdGUgU3RyaW5nIG5vbWVUcmFiYWxob0ZpbmFsKCkgewogICAgICAgIHN3aXRjaCAobml2ZWxDdXJzby50b0xvd2VyQ2FzZSgpKSB7CiAgICAgICAgICAgIGNhc2UgImdyYWR1YcOnw6NvIjoKICAgICAgICAgICAgICAgIHJldHVybiAiVENDIjsKICAgICAgICAgICAgY2FzZSAibWVzdHJhZG8iOgogICAgICAgICAgICAgICAgcmV0dXJuICJEaXNzZXJ0YcOnw6NvIjsKICAgICAgICAgICAgY2FzZSAiZG91dG9yYWRvIjoKICAgICAgICAgICAgICAgIHJldHVybiAiVGVzZSI7CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICByZXR1cm4gIlRyYWJhbGhvIEZpbmFsIjsKICAgICAgICB9CiAgICB9Cn0KCi8vIENsYXNzZSBwcmluY2lwYWwgY29tIG1haW4KcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIEFsdW5vIGFsdW5vMSA9IG5ldyBBbHVubygiTWF0aGV1cyIsICJFbmdlbmhhcmlhIiwgIkdyYWR1YcOnw6NvIiwgMTIzNDUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUsIDE1MDAuMCwgMjAsIHRydWUsIHRydWUsIDIwMjQpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihhbHVubzEuZ2V0RGFkb3MoKSk7CgogICAgICAgIEFsdW5vIGFsdW5vMiA9IG5ldyBBbHVubygiQW5hIiwgIk1lZGljaW5hIiwgIk1lc3RyYWRvIiwgNTQzMjEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLCAyMDAwLjAsIDAsIHRydWUsIGZhbHNlLCAwKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oYWx1bm8yLmdldERhZG9zKCkpOwogICAgfQp9Cg==