Loop infinito em média ponderada.
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)
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
Curtidas 0
Respostas
Paulo
24/04/2026
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);
}
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);
}
GOSTEI 0
Emerson Nascimento
24/04/2026
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);
}GOSTEI 0