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.
Scanner scan = new Scanner(System.in);
int Quantidade, Contador = 0;
double Valor, MaiorValor = 0;
System.out.println("Digite a quantidade numeros: ");
Quantidade = scan.nextInt();
for(int i=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,
1 curtida
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.
abaixo como ficaria o codigo alterado
if (Valor > MaiorValor) {
MaiorValor = Valor;
Contador = 1;
} else if (Valor == MaiorValor) {
Contador++;
}
1 curtida
O problema esta aqui:
if(Valor>MaiorValor){
voce esta usando Eclipse? Da uma debugada que vc vai matar o problema rapidao
Obrigado gente consegui.
Deu certo “Sandro_Machado” !!
e tentarei fazer tambem usando ArrayList “wagnerps”.
JAVA
SOLUÇÃO:
Scanner scan = new Scanner(System.in);
int quantidade;
int valor = 0;
int maior = 0;
int contador = 0;
System.out.println("Digite a quantidade de numeros: ");
quantidade = scan.nextInt();
for(int i=0;i<quantidade;i++){
System.out.print("Digite o numero: ");
valor = (-1)*scan.nextInt();
if(valor>maior){
maior = valor;
contador = 1;
}else if(valor==maior){
contador++;
}
}
System.out.println(maior+" é o maior e se repeti "+contador+" vezes.");