Dificuldade com a utilização de um Contador [RESOLVIDO]
5 respostasResolvido
java
Mailson_Anselmo
Nao estou entendo por que não conta o numero vezes que o maior aparece.
Programa em Java que leia uma certa quantidade de números e em
seguida leia os números. Imprima o maior deles e quantas vezes o maior número foi lido. A quantidade de números a serem lidos deve ser fornecida
pelo usuário. Assuma que o usuário sempre fornecerá um número positivo.
Scannerscan=newScanner(System.in);intQuantidade,Contador=0;doubleValor,MaiorValor=0;System.out.println("Digite a quantidade numeros: ");Quantidade=scan.nextInt();for(inti=0;i<Quantidade;i++){System.out.print("Digite o numero: ");Valor=scan.nextDouble();if(Valor>MaiorValor){MaiorValor=Valor;Contador++;}}System.out.println(MaiorValor);System.out.println("O maior valor foi lido "+Contador+" vezes");
@Mailson_Anselmo,
o que está acontecendo é que você está contando todos os números que estão sendo lidos,
Eu sugiro você adicionar um arraylist,
e para cada número lido,
após verificar se ele é o maior e atribuir para a váriavel MaiorValor,
adicione o número lido ao teu arraylist.
Depois de inserir todos os números informados pela aplicação, percorra o arraylist,
calculando quantas vezes o MaiorValor informado aparece.
Abraço,
Sandro_Machado1 like
só oque você precisa mudar é colocar um if caso o numero seja igual ao maior ele incrementa a Quantidade. e outra coisa quando você encontra um numero que seja maior você tem que reiniciar o contador.
obs = variáveis são declaradas com iniciais minúsculas.
voce esta usando Eclipse? Da uma debugada que vc vai matar o problema rapidao
Mailson_Anselmo
Obrigado gente consegui.
Deu certo “Sandro_Machado” !!
e tentarei fazer tambem usando ArrayList “wagnerps”.
Solucao aceita
Mailson_Anselmo
JAVA
SOLUÇÃO:
Scannerscan=newScanner(System.in);intquantidade;intvalor=0;intmaior=0;intcontador=0;System.out.println("Digite a quantidade de numeros: ");quantidade=scan.nextInt();for(inti=0;i<quantidade;i++){System.out.print("Digite o numero: ");valor=(-1)*scan.nextInt();if(valor>maior){maior=valor;contador=1;}elseif(valor==maior){contador++;}}System.out.println(maior+" é o maior e se repeti "+contador+" vezes.");