Selecao DevMedia QUERO SER PRIME

Fórum Loop infinito em média ponderada. #623870

24/04/2026

0

Prazer novamente a todos.
Não conseigo descobrir onde errei no código.
import java.util.Scanner;

public class CasosdeTestes
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
char resp;
int p = 0,M = 0, p1 = 0, n1 = 0, n = 0, i;
System.out.println("Entre com o número de vezes de quantos cálculos serão feitos da média ponderada");
int val = sc.nextInt();
System.out.println("Entre com os valores para calcular a média ponderada.");

do
{
for(i = 0;i <= val; i++)
{
System.out.println("Entre com o valor do peso1 da média.");
p = sc.nextInt();
p = p + 1;
System.out.print("Entre com valor1: ");
n = sc.nextInt();
n = n + 1;
System.out.println("Entre com o valor do peso2 da média.");
p1 = sc.nextInt();
p1 = p1 + 1;
System.out.print("Entre com valor2: ");
n1 = sc.nextInt();
n = n + 1;
; }
M = (n * p) + (n1*p1) / (p + p1);
System.out.println("O valor da média ponderada é:" + M);
sc.nextLine();
System.out.print("Deseja Continuar? <s/n>: ");
resp = sc.next().charAt(0);
} while (resp != 'n');
sc.close() ;
}

}

//Média Ponderada = (x₁·p₁ + x₂·p₂ + ... + xn·pn) / (p₁ + p₂ + ... + pn)
Paulo

Paulo

Responder

Posts

01/05/2026

Paulo

Refiz o programa, mas não funciona.
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);

//Long unsignedInt n_parcelas = 0;
int n_parcelas = 0, i = 0, peso = 0, valor = 0;
float denominador = 0, numerador = 0;
do {

System.out.println ("Entre a quantidade de valores para a média ponderada (0 para sair): ");
if(n_parcelas == 0)
break;
for(n_parcelas = 1;i <= n_parcelas; i++){
System.out.println("Entre com o peso da " + i + "parcela");
peso = sc.nextInt();
System.out.println("Entre com o valor da "+ i + " parcela");
valor = sc.nextInt();
numerador += peso*valor;
denominador += peso;
if (denominador != 0.0)
System.out.println("A media ponderada é:" + numerador/denominador + ".\\n");
else
System.out.println("A soma dos pesos não pode ser igual a 0\\n");
}
}while(true);

}
Responder

Gostei + 0

09/05/2026

Emerson Nascimento

public static void main(String[] args)
{
	Scanner sc = new Scanner(System.in);

	//Long unsignedInt n_parcelas = 0;
	int n_parcelas = 0, i = 0, peso = 0, valor = 0;
	float denominador = 0, numerador = 0;

	do {

        System.out.println("Entre a quantidade de valores para a média ponderada (0 para sair): ");
		n_parcelas = sc.nextInt();

		if(n_parcelas == 0)
			break;

		for(n_parcelas = 1; i <= n_parcelas; i++) {
			System.out.println("Entre com o peso da " + i + "parcela");
			peso = sc.nextInt();
			System.out.println("Entre com o valor da "+ i + " parcela");
			valor = sc.nextInt();
			numerador += peso*valor;
			denominador += peso;
			if (denominador != 0.0)
				System.out.println("A media ponderada é:" + numerador/denominador + ".\\\\n");
			else
				System.out.println("A soma dos pesos não pode ser igual a 0\\\\n");
		}

	} while(true);

}
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar