Advertisement
Guest User

Untitled

a guest
May 20th, 2019
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.02 KB | None | 0 0
  1. public class main {
  2.  
  3. public static void main(String[] args) {
  4. // TODO Auto-generated method stub
  5. Scanner in= new Scanner(System.in);
  6. double notaInicial = in.nextDouble();
  7. double notaLimite = notaInicial - ((Math.sqrt(notaInicial)) / 10);
  8. Lista lista = new Lista();
  9. while(in.hasNext()) {
  10. String nome = in.next();
  11. double nota = in.nextDouble();
  12. if (nota >= notaLimite) {
  13. lista.inserir(nome, nota);
  14.  
  15. }else {
  16. System.out.println(nome + " nao serve para aumentar minha nota.");
  17. }
  18. }
  19. System.out.print(lista.QuantoAumentou(notaLimite, notaInicial, 0));
  20. }
  21.  
  22. }class Lista {
  23. String nome;
  24. double nota;
  25. Lista proximo;
  26.  
  27. public Lista() {
  28. this.nome = null;
  29. this.nota = 0;
  30. this.proximo = null;
  31. }
  32.  
  33. public void inserir(String nome, double nota) {
  34. if(this.nome == null) {
  35. this.nome = nome;
  36. this.nota = nota;
  37. this.proximo = new Lista();
  38. }
  39. else {
  40. this.proximo.inserir(nome, nota);
  41. }}
  42.  
  43.  
  44. public void remover(String nome) {
  45. if (this.nome != null) {
  46. if(this.nome.equals(nome)) {
  47. this.nome = this.proximo.nome;
  48. this.proximo = this.proximo.proximo;
  49. }else {
  50. this.proximo.remover(nome);
  51. }
  52. }
  53. }
  54. public String nomesQueRestam (String nomeAtual) {
  55. if (this.nome != null) {
  56. if (this.nome.equals(nomeAtual)) {
  57. return this.proximo.nome + "\n" + this.proximo.nomesQueRestam(this.proximo.nome);
  58. }else {
  59. return this.proximo.nomesQueRestam(nomeAtual);
  60. }
  61. }else {
  62. return "";
  63. }
  64. }
  65. // String x = String.format("%.4f",numero)
  66. public String QuantoAumentou (double notaLimite, double notaAtual, double aumentoTotal) {
  67. double X;
  68. double aumento;
  69. if(this.nome != null) {
  70. if(notaLimite <= this.nota && this.nota < notaLimite+0.1) {
  71. X = 1;
  72. aumento = X % ((Math.sqrt(this.nota)) / (Math.sqrt(notaAtual)));
  73. notaAtual += aumento;
  74. aumentoTotal += aumento;
  75.  
  76. if(notaAtual < 4.5) {
  77. return "Minha nota aumentou em "+aumento+" por causa de "+ this.nome + "!"+"\n"+"Ja consegui aumentar " + aumentoTotal + " na minha nota"+"\n"+ "Atualmente estou com "+ notaAtual +" e ainda falta "+(4.5 - notaAtual)+" para conseguir a nota sonhada." +"\n"+ this.proximo.QuantoAumentou(notaLimite, notaAtual, aumentoTotal);
  78. }else {
  79. if (this.proximo.nome == null) {
  80. return "Minha nota aumentou em "+aumento+" por causa de "+ this.nome + "!"+"\n" + "Consegui a nota sonhada, ja posso comprar a casa dos meus sonhos, nao preciso de mais ninguem.";
  81. }else{
  82. return "Minha nota aumentou em "+aumento+" por causa de "+ this.nome + "!"+"\n" + "Consegui a nota sonhada, ja posso comprar a casa dos meus sonhos, nao preciso de mais ninguem."+ "\n" +"Pessoas que nao preciso cativar:" + nomesQueRestam (this.nome) ;
  83. }
  84. }
  85. }else if(notaLimite+0.1 <= this.nota && this.nota < notaLimite+0.2) {
  86. X = 3;
  87. aumento = X % ((Math.sqrt(this.nota)) / (Math.sqrt(notaAtual)));
  88. notaAtual += aumento;
  89. aumentoTotal += aumento;
  90.  
  91. if(notaAtual < 4.5) {
  92. return "Minha nota aumentou em "+aumento+" por causa de "+ this.nome + "!"+"\n"+"Ja consegui aumentar " + aumentoTotal + " na minha nota"+"\n"+ "Atualmente estou com "+ notaAtual +" e ainda falta "+(4.5 - notaAtual)+" para conseguir a nota sonhada." +"\n"+ this.proximo.QuantoAumentou(notaLimite, notaAtual, aumentoTotal);
  93. }else {
  94. if (this.proximo.nome == null) {
  95. return "Minha nota aumentou "+aumento+" por causa de "+ this.nome + "!"+"\n" + "Consegui a nota sonhada, ja posso comprar a casa dos meus sonhos, nao preciso de mais ninguem.";
  96. }else{
  97. return "Minha nota aumentou "+aumento+" por causa de "+ this.nome + "!"+"\n" + "Consegui a nota sonhada, ja posso comprar a casa dos meus sonhos, nao preciso de mais ninguem."+ "\n" +"Pessoas que nao preciso cativar:" + nomesQueRestam (this.nome) ;
  98. }
  99. }
  100. }else if(notaLimite+0.2 <= this.nota && this.nota < notaLimite+0.3) {
  101. X = 5;
  102. aumento = X % ((Math.sqrt(this.nota)) / (Math.sqrt(notaAtual)));
  103. notaAtual += aumento;
  104. aumentoTotal += aumento;
  105.  
  106. if(notaAtual < 4.5) {
  107. return "Minha nota aumentou em "+aumento+" por causa de "+ this.nome + "!"+"\n"+"Ja consegui aumentar " + aumentoTotal + " na minha nota"+"\n"+ "Atualmente estou com "+ notaAtual +" e ainda falta "+(4.5 - notaAtual)+" para conseguir a nota sonhada." +"\n"+ this.proximo.QuantoAumentou(notaLimite, notaAtual, aumentoTotal);
  108. }else {
  109. if (this.proximo.nome == null) {
  110. return "Minha nota aumentou "+aumento+" por causa de "+ this.nome + "!"+"\n" + "Consegui a nota sonhada, ja posso comprar a casa dos meus sonhos, nao preciso de mais ninguem.";
  111. }else{
  112. return "Minha nota aumentou "+aumento+" por causa de "+ this.nome + "!"+"\n" + "Consegui a nota sonhada, ja posso comprar a casa dos meus sonhos, nao preciso de mais ninguem."+ "\n" +"Pessoas que nao preciso cativar:" + nomesQueRestam (this.nome) ;
  113. }
  114. }
  115. }else if(notaLimite+0.3 <= this.nota && this.nota < notaLimite+0.5) {
  116. X = 7;
  117. aumento = X % ((Math.sqrt(this.nota)) / (Math.sqrt(notaAtual)));
  118. notaAtual += aumento;
  119. aumentoTotal += aumento;
  120.  
  121. if(notaAtual < 4.5) {
  122. return "Minha nota aumentou em "+aumento+" por causa de "+ this.nome + "!"+"\n"+"Ja consegui aumentar " + aumentoTotal + " na minha nota"+"\n"+ "Atualmente estou com "+ notaAtual +" e ainda falta "+(4.5 - notaAtual)+" para conseguir a nota sonhada." +"\n"+ this.proximo.QuantoAumentou(notaLimite, notaAtual, aumentoTotal);
  123. }else {
  124. if (this.proximo.nome == null) {
  125. return "Minha nota aumentou "+aumento+" por causa de "+ this.nome + "!"+"\n" + "Consegui a nota sonhada, ja posso comprar a casa dos meus sonhos, nao preciso de mais ninguem.";
  126. }else{
  127. return "Minha nota aumentou "+aumento+" por causa de "+ this.nome + "!"+"\n" + "Consegui a nota sonhada, ja posso comprar a casa dos meus sonhos, nao preciso de mais ninguem."+ "\n" +"Pessoas que nao preciso cativar:" + nomesQueRestam (this.nome) ;
  128. }
  129. }
  130. }else {
  131. X = 9;
  132. aumento = X % ((Math.sqrt(this.nota)) / (Math.sqrt(notaAtual)));
  133. notaAtual += aumento;
  134. aumentoTotal += aumento;
  135.  
  136. if(notaAtual < 4.5) {
  137. return "Minha nota aumentou em "+aumento+" por causa de "+ this.nome + "!"+"\n"+"Ja consegui aumentar " + aumentoTotal + " na minha nota"+"\n"+ "Atualmente estou com "+ notaAtual +" e ainda falta "+(4.5 - notaAtual)+" para conseguir a nota sonhada." +"\n"+ this.proximo.QuantoAumentou(notaLimite, notaAtual, aumentoTotal);
  138. }else {
  139. if (this.proximo.nome == null) {
  140. return "Minha nota aumentou "+aumento+" por causa de "+ this.nome + "!"+"\n" + "Consegui a nota sonhada, ja posso comprar a casa dos meus sonhos, nao preciso de mais ninguem.";
  141. }else{
  142. return "Minha nota aumentou "+aumento+" por causa de "+ this.nome + "!"+"\n" + "Consegui a nota sonhada, ja posso comprar a casa dos meus sonhos, nao preciso de mais ninguem."+ "\n" +"Pessoas que nao preciso cativar:" + nomesQueRestam (this.nome) ;
  143. }
  144. }
  145.  
  146. }
  147. }else {
  148. return "Mesmo com tantos amigos nao consegui minha casa dos sonhos :(";
  149. }
  150. }
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement