0

[Desafio Resolvido] - Erro ao entregar desafio

#Java
L
Lucas Cardozo

Olá a todos, tudo bem com vocês? Espero que sim.

Bem, eu estava fazendo um exercício em Java no qual o enunciado pedia um algoritmo que lesse uma série de idades que, ao final do programa, exibisse a média dessas idades. O programa só pararia quando fosse digitado um número negativo.


Conforme o que foi pedido, fiz o algoritmo e realizei os testes, e constou que tudo estava certo.

Porém, ao entregar o desafio, aparece uma mensagem informando que o mesmo algoritmo, que havia passado nos testes anteriores, estava incorreto. Tentei mudar os tipos das variáveis, troquei os nomes e tudo mais mas o problema ainda continua.


Gostaria de saber aonde eu errei e como podeira consertar ou se isso é algum problema da plataforma.


Desde já agradeço pela ajuda :)


Segue abaixo o código:


import java.io.IOException;

import java.util.Scanner;


public class Desafio {


  public static void main(String[] args) throws IOException {

    Scanner leitor = new Scanner(System.in);

    int cont = 0;

    double soma = 0;

    double n=0;

    //complete o codigo

    while (n >= 0) {

      n = leitor.nextInt();

      if (n >= 0) { 

       cont++;

       soma+=n;

      }

    }

    double media = soma / cont;

    System.out.println(String.format("%.2f", media));

  }


}

6
114

Comentários (7)

1
A

Alfredo Neto

03/07/2021 20:06

Boa noite Lucas CArdozo O Código Correto do desafio java idades GFT #2 Start é:


Código:


import java.util.Scanner;




public class Idades {




 public static void main(String[] args) {


  Scanner input = new Scanner(System.in);


  int n;


  int count=0;


  double s = 0.0;


 n = input.nextInt();


while(true) {


  


 if(n > 0 ) {


  


  s += n;


  count++;


  


 }


  


 else


  


 break;


  


n = input.nextInt();


}


System.out.println(String.format("%.2f", s / count));


 }


}


Jesus te abençoe com amor, paz e saúde abraço sucesso

1
L

Lucas Cardozo

28/06/2021 19:04

Boa noite Fernanda! Eu fiz as mudanças com base no seu código e funcionou! Depois de quase 1 semana o desafio foi aceito. O problema estava justamente na condição, que deveria ser um número maior do que 0.


Agora vou poder continuar meus exercícios, você ajudou demais Fernanda! Muito obrigado mesmo.

1
Fernanda Ribeiro

Fernanda Ribeiro

28/06/2021 11:40

Lucas, parece que tem um erro no enunciado. A condição de parada de leitura é um número menor que 1. Tenta assim:


import java.io.IOException;
import java.util.Scanner;

public class Desafio {
	
  public static void main(String[] args) throws IOException {
    
    Scanner leitor = new Scanner(System.in);
     
    int cont = 0;
    double soma = 0.0;


    int n = leitor.nextInt();
         
    while (n > 0) {
         soma += n;
         cont++;
           
         n = leitor.nextInt();
    }
     
    double media = soma / cont;
    System.out.println(String.format("%.2f", media));
     
  }
	
}
1
L

Lucas Cardozo

28/06/2021 11:03

Bom dia Fernanda! Eu tentei fazer a leitura antes do laço como você sugeriu, mas ao executar, o código não passa em nenhum dos três testes iniciais. Eu realmente não faço ideia de como resolver isso hehe.


Mas muito obrigado pela ajuda Fernanda!

1
Fernanda Ribeiro

Fernanda Ribeiro

27/06/2021 20:13

Lucas, quando eu fiz esse desafio, eu tive o mesmo problema. Eu acredito que isso tenha acontecido porque o último teste entra com o valor zero. Então se você começar a leitura dentro do while a variável cont vai estar com o valor 1, resultando em uma media zero, porém o esperado é um NaN. Tenta reescrever o teu código fazendo uma leitura antes do while.

1
Gutemberg Souza

Gutemberg Souza

27/06/2021 16:40

Boa tarde!

ja tentou substituir o 1 por 0 dentro do while, afinal ele testa se o numero recebido é positivo,

e o zero é positivo,

quando vc da o comando while (n >= 1)

ele sai do laço quando recebe o 0.

provalvelmente no teste trancado ele esta passando 0 !


espero ter ajudado!!







0
L

Lucas Cardozo

27/06/2021 19:37

Boa noite Gutemberg! Acabei de fazer essa alteração no código mas ainda continua dando erro hehe, infelizmente. Deve ter alguma forma específica para fazer esse exercício, mas ainda não sei como :( .

Mas muito obrigado pelo seu feedback!!

None

Brasil