Exercicio para calcular a média final de números digitados

9 respostas
java
M

boa tarde,
estou com dificuldades para montar um programa que solita ao usuário quantos números ele pretende digitar e em seguida o programa deverá imprimir a media da metade final dos números digitados.
Agradeço antecipadamente !!!

9 Respostas

T

Boa noite,
O que já fez de código?

M

Bom dia !!
me falta a condiçao para quantidade de números impares, exemplo: o usuário deseja digitar 5 números. Com os numeros pares ja roda sem problemas…
Obrigado!

int n=0, contador=0;

double numero=0, Soma=0;

System.out.print(" Quantos números você deseja digitar?");

Scanner s = new Scanner(<a href="http://System.in">System.in</a>);

n=s.nextInt();

while (n<=0) {

System.out.println("’" + n +"’ não é um número maior que ZERO.\n\n Quantos números você deseja digitar?:");

n=s.nextInt();

}

System.out.print("\n Agora pense nos " + n +" números que deseja.\n");

for (contador=1; contador<=n; contador=contador+1) {

System.out.println(Digite o " + contador +“º número:”);

numero=s.nextDouble();

if (contador > n/2) {

Soma=Soma+numero;

}

}

Soma = Soma/(n/2);

System.out.println(”\nA média da segunda metade dos números digitados é: " +Soma);

System.out.println("\n\n Fim do programa");

}	

}
T

Boa noite
Não consegui entender o que deseja realizar com o código?
A quantidade de números a serem inseridos pelo usuário aparentemente está correta, conforme resultado para as situações abaixo?

Quantos números você deseja digitar? 4

Agora pense nos 4 números que deseja.
Digite o 1º número:
10
Digite o 2º número:
20
Digite o 3º número:
30
Digite o 4º número:
40

A média da segunda metade dos números digitados é: 35.0

Fim do programa


Quantos números você deseja digitar? 5

Agora pense nos 5 números que deseja.
Digite o 1º número:
10
Digite o 2º número:
20
Digite o 3º número:
30
Digite o 4º número:
40
Digite o 5º número:
50

A média da segunda metade dos números digitados é: 60.0

Fim do programa

M

bom dia,
entao se ele somou os ultimos três numeros deveria ter divido por 3, no caso ele sempre dividi por 2.
Obrigado!!

K

Bom Dia.

Tenta fazer assim, declare uma variável como média, para calcular a média e faça assim:

if(n%2 ==0){
			media = soma/(n/2);
		}else{
			media = soma/((n+1)/2);
		}
F
package teste;
import java.util.Scanner;

public class Teste {
    public static void main(String args[]) {
	int n = 0, contador = 0;
	double numero = 0, Soma = 0;
	System.out.print("Quantos números você deseja digitar?");
	Scanner s = new Scanner(System.in);
	n = s.nextInt();
	while (n <= 0) {
	    System.out.println("’" + n + "’ não é um número maior que ZERO.\n\n Quantos números você deseja digitar?:");
	    n = s.nextInt();
	}
	System.out.print("\n Agora pense nos " + n + " números que deseja.\n");
	if (n%2==0){
	for (contador = 1; contador <= n; contador = contador + 1) {
	    System.out.println("Digite o " + contador +"º número:");
	        numero = s.nextDouble();
	        if (contador > n / 2) {
	            Soma = Soma + numero;
	        }
	    }
	    Soma = Soma / (n / 2);
	    System.out.println("\nA média da segunda metade dos números digitados é: " +Soma);
    } else {
	for (contador = 1; contador <= n; contador = contador + 1) {
	    System.out.println("Digite o " + contador +"º número:");
	        numero = s.nextDouble();
	        if (contador > ((n-1) / 2)) {
	            Soma = Soma + numero;
	        }
	    }
	    Soma = Soma / (((n-1) / 2) + 1);
	    System.out.println("\nA média da segunda metade dos números digitados e: " +Soma);
    }
	        System.out.println("\n\n Fim do programa");
}
}
T

Boa noite
Você está utilizando uma variável int então o valor após a vírgula é desprezado.
Se n = 4 / 2 resultado 2, se n = 5 / 2 resultado na calculadora 2,5, mas como é um int o “,5” é desprezado.
No seu código original utilize a sugestão do @KPS substituindo onde está seu código

Soma = Soma / (n / 2);

Não há necessidade de criar um else e duplicar o for.
Veja se é isto que precisa, caso contrário continue perguntando que vai reforçando o aprendizado.

M

Muito Obrigado, funcionou corretamente!!!

M

Boa noite, comprovei das duas maneiras e funcionou corretamente, agradeço a ajuda de todos !!!

Criado 7 de novembro de 2018
Ultima resposta 11 de nov. de 2018
Respostas 9
Participantes 4