Java - Problema con ejercicio

 
Vista:

Problema con ejercicio

Publicado por Miguel (5 intervenciones) el 09/04/2020 23:39:52
hola buenas tardes
Necesito ayuda con este problema

Una fuente de datos registra varias edades, la edad 0 indica el final del ingreso de datos, realice un programa para determinar el promedio de las edades ingresadas y además el porcentaje de personas mayores a los 50 años.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.Scanner;
public class Practico1_PII {
 
 
    public static void main(String[] args) {
 
        int i=0, edad, acum = 0;
 
        Scanner in = new Scanner(System.in);
        do {
 
            System.out.printf("%d.- Ingrese la edad: ", i);
 
            edad = in.nextInt();
            if(edad == 0) break;
            acum = acum + edad;
            i++;
        }while(edad != 0);
 
 
    }
}

hasta aqui llegue puedo hacer que el programa se detenga cuando se ingresa el cero.. ahora tengo problemas para sacar el promedio y el % de personas mayores a 50..
alguna idea?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Problema con ejercicio

Publicado por Kabuto (1381 intervenciones) el 10/04/2020 01:32:46
El promedio lo obtienes simplemente dividiendo la edad acumulada por el contador i de edades introducidas:

promedio = acum / i;

Para el % de personas mayores de 50, con las variables que usas ahora no puedes.
Tienes que añadir un segundo contador que cuente las edades > 50.

Por cierto, usar break para romper el bucle, aunque es lícito y plenamente funcional, no se considera buena práctica de programación excepto en raros casos que no queda otra posibilidad o que al menos sirva para escribir menos código.

En este caso, no es necesario usarlo.
Se puede reescribir así y añadir un segundo if para controlar las personas mayores de 50:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public static void main(String[] args) {
 
    int i=0, edad, acum = 0;
    int mayores50 = 0;
 
    Scanner in = new Scanner(System.in);
 
    do {
 
        System.out.printf("%d.- Ingrese la edad: ", i);
 
        edad = in.nextInt();
        if (edad != 0) {
            acum = acum + edad;
            i++;
 
            if (edad > 50)
                mayores50++;
        }
    }while(edad != 0);
 
 
    }
}

Con esto, luego ya después, podemos calcular el porcentaje de mayores e 50 sobre el total de edades introducidas

double porcenMayor50 = mayores50 * 100 / i;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con ejercicio

Publicado por Criss (1 intervención) el 16/08/2020 17:50:57
alguien sabe como hacerlo en formulario?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar