fork download
  1. class Trabalho {
  2. private String tipo, titulo, orientador;
  3. private double nota;
  4. public Trabalho(String orientador, String titulo, double nota, String nivel_curso) {
  5. this.titulo = titulo;
  6. this.orientador = orientador;
  7. this.nota = nota;
  8. switch (nivel_curso) {
  9. case "Graduação (Bacharelado)" : tipo = "TCC" ; break;
  10. case "Lato sensu" : tipo = "Monografia" ; break;
  11. case "Mestrado" : tipo = "Dissertação" ; break;
  12. case "Doutorado" : tipo = "Tese" ; break;
  13. }
  14. }
  15. public String getDados() {
  16. String resp = "Título de trabalho (" +tipo+"): ";
  17. resp += titulo + "\n";
  18. resp += "Orientador(a): Prof. " + orientador + "\n";
  19. resp += "Nota: " + nota + "\n";
  20. return resp;
  21. }
  22. }
  23.  
  24. class TrabalhoNulo extends Trabalho {
  25. public TrabalhoNulo() {
  26. super(null, null, -1.0, "");
  27. }
  28. public String getDados() {
  29. return "Curso Superior Tecnologia não tem obrigatoriedade de trabalho de conclusão de curso";
  30. }
  31. }
  32.  
  33. class Curso {
  34. private String nome, nível;
  35. private double mensalidade;
  36.  
  37. public String getNome() {
  38. return nome;
  39. }
  40.  
  41. public String getNivel() {
  42. return nível;
  43. }
  44.  
  45. public double getMensalidade() {
  46. return mensalidade;
  47. }
  48.  
  49. public Curso (String nome,
  50. String nível,
  51. double mensalidade) {
  52. this.nome = nome;
  53. this.nível = nível;
  54. this.mensalidade = mensalidade;
  55. }
  56. }
  57.  
  58. class Aluno{
  59. private String nome;
  60. private int cód_matrícula;
  61. private boolean é_bolsista;
  62. private double desconto;
  63. private Curso curso;
  64. private Trabalho trabalho;
  65.  
  66. public Aluno(String nome,
  67. int cód_matrícula,
  68. boolean é_bolsista,
  69. double desconto,
  70. Curso curso,
  71. Trabalho trabalho) {
  72. this.nome = nome;
  73. this.cód_matrícula = cód_matrícula;
  74. this.é_bolsista = é_bolsista;
  75. this.desconto = desconto;
  76. this.curso = curso;
  77. this.trabalho = trabalho;
  78. }
  79.  
  80. public String getMensalidadeFinal() {
  81. String resp = "";
  82. if (é_bolsista)
  83. {
  84. resp += "Bolsista com desconto de: " + this.desconto + "%\n";
  85. resp += "Mensalidade: R$ " + this.curso.getMensalidade()*(1-this.desconto/100);
  86. }
  87. else resp += "Mensalidade: R$ " + this.curso.getMensalidade();
  88. return resp;
  89. }
  90.  
  91. public String getDados()
  92. {
  93. String resp = "Aluno: "+ this.nome +"\n";
  94. resp += "Curso: " + this.curso.getNivel() + " em " + this.curso.getNome() +"\n";
  95. resp += this.getMensalidadeFinal();
  96. resp += trabalho.getDados();
  97. return resp;
  98. }
  99. }
  100.  
  101. class Teste
  102. {
  103. public static void main (String args[])
  104. {
  105. Curso ads = new Curso("ADS",
  106. "Graduação",
  107. 920.50);
  108. Trabalho trabalho1 = new TrabalhoNulo();
  109. Aluno a1 = new Aluno("Martin Fowler",
  110. 11223344,
  111. true,
  112. 20.5,
  113. ads,
  114. trabalho1);
  115.  
  116. Curso computacao_aplicada = new Curso("Computação Aplicada",
  117. "Mestrado",
  118. 2150.45);
  119. Trabalho trabalho2 = new Trabalho("Ademir Frango", "Refactors", 10, computacao_aplicada.getNivel());
  120. Aluno a2 = new Aluno("Kent Beck",
  121. 22334455,
  122. false,
  123. 0,
  124. computacao_aplicada,
  125. trabalho2);
  126.  
  127. System.out.println(a1.getDados());
  128. System.out.println(a2.getDados());
  129. }
  130. }
  131.  
Success #stdin #stdout 0.33s 59200KB
stdin
Standard input is empty
stdout
Aluno: Martin Fowler
Curso: Graduação em ADS
Bolsista com desconto de: 20.5%
Mensalidade: R$ 731.7975Curso Superior Tecnologia não tem obrigatoriedade de trabalho de conclusão de curso
Aluno: Kent Beck
Curso: Mestrado em Computação Aplicada
Mensalidade: R$ 2150.45Título de trabalho (Dissertação): Refactors
Orientador(a): Prof. Ademir Frango
Nota: 10.0