Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class main {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Scanner in= new Scanner(System.in);
- double notaInicial = in.nextDouble();
- double notaLimite = notaInicial - ((Math.sqrt(notaInicial)) / 10);
- Lista lista = new Lista();
- while(in.hasNext()) {
- String nome = in.next();
- double nota = in.nextDouble();
- if (nota >= notaLimite) {
- lista.inserir(nome, nota);
- }else {
- System.out.println(nome + " nao serve para aumentar minha nota.");
- }
- }
- System.out.print(lista.QuantoAumentou(notaLimite, notaInicial, 0));
- }
- }class Lista {
- String nome;
- double nota;
- Lista proximo;
- public Lista() {
- this.nome = null;
- this.nota = 0;
- this.proximo = null;
- }
- public void inserir(String nome, double nota) {
- if(this.nome == null) {
- this.nome = nome;
- this.nota = nota;
- this.proximo = new Lista();
- }
- else {
- this.proximo.inserir(nome, nota);
- }}
- public void remover(String nome) {
- if (this.nome != null) {
- if(this.nome.equals(nome)) {
- this.nome = this.proximo.nome;
- this.proximo = this.proximo.proximo;
- }else {
- this.proximo.remover(nome);
- }
- }
- }
- public String nomesQueRestam (String nomeAtual) {
- if (this.nome != null) {
- if (this.nome.equals(nomeAtual)) {
- return this.proximo.nome + "\n" + this.proximo.nomesQueRestam(this.proximo.nome);
- }else {
- return this.proximo.nomesQueRestam(nomeAtual);
- }
- }else {
- return "";
- }
- }
- // String x = String.format("%.4f",numero)
- public String QuantoAumentou (double notaLimite, double notaAtual, double aumentoTotal) {
- double X;
- double aumento;
- if(this.nome != null) {
- if(notaLimite <= this.nota && this.nota < notaLimite+0.1) {
- X = 1;
- aumento = X % ((Math.sqrt(this.nota)) / (Math.sqrt(notaAtual)));
- notaAtual += aumento;
- aumentoTotal += aumento;
- if(notaAtual < 4.5) {
- 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);
- }else {
- if (this.proximo.nome == null) {
- 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.";
- }else{
- 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) ;
- }
- }
- }else if(notaLimite+0.1 <= this.nota && this.nota < notaLimite+0.2) {
- X = 3;
- aumento = X % ((Math.sqrt(this.nota)) / (Math.sqrt(notaAtual)));
- notaAtual += aumento;
- aumentoTotal += aumento;
- if(notaAtual < 4.5) {
- 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);
- }else {
- if (this.proximo.nome == null) {
- 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.";
- }else{
- 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) ;
- }
- }
- }else if(notaLimite+0.2 <= this.nota && this.nota < notaLimite+0.3) {
- X = 5;
- aumento = X % ((Math.sqrt(this.nota)) / (Math.sqrt(notaAtual)));
- notaAtual += aumento;
- aumentoTotal += aumento;
- if(notaAtual < 4.5) {
- 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);
- }else {
- if (this.proximo.nome == null) {
- 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.";
- }else{
- 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) ;
- }
- }
- }else if(notaLimite+0.3 <= this.nota && this.nota < notaLimite+0.5) {
- X = 7;
- aumento = X % ((Math.sqrt(this.nota)) / (Math.sqrt(notaAtual)));
- notaAtual += aumento;
- aumentoTotal += aumento;
- if(notaAtual < 4.5) {
- 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);
- }else {
- if (this.proximo.nome == null) {
- 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.";
- }else{
- 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) ;
- }
- }
- }else {
- X = 9;
- aumento = X % ((Math.sqrt(this.nota)) / (Math.sqrt(notaAtual)));
- notaAtual += aumento;
- aumentoTotal += aumento;
- if(notaAtual < 4.5) {
- 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);
- }else {
- if (this.proximo.nome == null) {
- 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.";
- }else{
- 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) ;
- }
- }
- }
- }else {
- return "Mesmo com tantos amigos nao consegui minha casa dos sonhos :(";
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement