Java - Ayuda Ejercicio Java Ciclo Mientras

 
Vista:

Ayuda Ejercicio Java Ciclo Mientras

Publicado por Eduard Benjumea (2 intervenciones) el 24/09/2013 18:17:11
Hola colegas,

el motivo de mi mensaje es que tengo un ejercicio que desarrollar en java(consola), y es el siguiente:

7. Desarrollar un algoritmo que permita calcular los siguientes
datos de una fiesta:
¿Cuántas personas asistieron a la fiesta?
¿Cuántos hombres y cuantas mujeres?
-Promedio de edades por sexo.
-La edad de la persona más joven que asistió.

Consideraciones:
-No se permiten menores de edad a la fiesta.
-Ingresar datos hasta que se ingrese una edad igual a cero.
Presentar la solución a este ejercicio en JAVA.


en total me han puesto 12 ejercicios y todos los he desarrolado bien execpto este que no entiendo que estoy haciendo mal, adjunto el codigo que tengo en un .doc y espero me puedan dar una ayuda con el codigo y poder solucionar el ejercicio.

Codigo:



package lpp3;
import com.sun.xml.internal.ws.api.pipe.NextAction;
import java.util.*;
/**
* Actividad de aprendizaje 3: Fundamentos de Programacion en Java
* Ejercicio # 4
* Aprendiz: Eduard Jose Benjumea Maestre
*/
public class LPP3 {


public static void main(String[] args) {
int edad = 0,asistentes,cantHombres,cantMujeres,joven,edadHombres,edadMujeres;
double promMujeres,promHombres;
String sexo=null;

cantHombres=0;
cantMujeres=0;
edadHombres=0;
edadMujeres=0;
joven=100;

System.out.println("Bienvenidos a mi Fiesta");




Scanner input;
input = new Scanner(System.in);
System.out.println("Digite su Edad: ");
edad= input.nextInt();
while (edad != 0){

if( edad!=0 && edad>=18){
if (edad<joven){
edad=joven;
}
}
if (edad>=18){
input = new Scanner(System.in);
System.out.println("Digite su Genero (m) o (f): ");
sexo=input.next();

while(!"m".equals(sexo) && !"f".equals(sexo)){

System.out.println("Caracter Invalido");
System.out.println("Digite su Genero (m) o (f): ");
input = new Scanner(System.in);
System.out.println("Digite su Genero (m) o (f): ");
sexo=input.next();
}

if ("m".equals(sexo)){
cantHombres=cantHombres+1;
edadHombres=edadHombres+edad;
} else {
cantMujeres=cantMujeres+1;
edadMujeres=edadMujeres+edad;
}




} else {
System.out.println("No se Admiten menores de edad");
}
}

System.out.println(" DATOS DE LA FIESTA ");

promMujeres=edadMujeres/cantMujeres;
promHombres=edadHombres/cantHombres;

System.out.println("Cantidad de Asistentes: "+(cantHombres+cantMujeres));
System.out.println("Cantidad de Mujeres: "+cantMujeres);
System.out.println("Cantidad de Hombres: "+cantHombres);

if (promMujeres>0){
System.out.println("Promedio de edad Femenino: "+promMujeres);
}else {
System.out.println("Promedio de edad Femenino: No Aplica");
}

if (promHombres>0){
System.out.println("Promedio de edad Masculino: "+promHombres);
} else {
System.out.println("Promedio de edad Masculino: No Aplica");
}

if (joven != 100 && joven!=0){
System.out.println("La Persona mas joven que asistio tenia: "+joven);
}else{
System.out.println("La Persona mas joven que asistio tenia: No Aplica");
}
}
}


El problema es que no me acepta el genero, aunque ponga f o m siempre me da error y si pongo una edad inferior a 18 se queda en un loop mostrando edad no permitida, y si pongo 0 desde el principio solo muestra Datos de la fiesta pero la información no me sale, me sale un error en letras rojas.

De antemano muchas gracias por su colaboración.
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

Ayuda Ejercicio Java Ciclo Mientras

Publicado por Michael Tom (1 intervención) el 24/09/2013 19:15:19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
public class Main {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    int edad = 0,asistentes,cantHombres,cantMujeres,joven,edadHombres,edadMujeres;
    double promMujeres,promHombres;
    String sexo=null;
 
    cantHombres=0;
    cantMujeres=0;
    edadHombres=0;
    edadMujeres=0;
    joven=100;
 
    System.out.println("Bienvenidos a mi Fiesta");
 
    Scanner input;
    input = new Scanner(System.in);
    System.out.println("Digite su Edad: ");
    edad= input.nextInt();
    while (edad != 0){
 
        if( edad!=0 && edad>=18){
            if (edad<joven){
                joven=edad;
            }
        }
        if (edad>=18){
            input = new Scanner(System.in);
            System.out.println("Digite su Genero (m) o (f): ");
            sexo=input.next();
 
            while(!"m".equals(sexo) && !"f".equals(sexo)){
 
                System.out.println("Caracter Invalido");
                /*System.out.println("Digite su Genero (m) o (f): ");*/
                input = new Scanner(System.in);
                System.out.println("Digite su Genero (m) o (f): ");
                sexo=input.next();
            }
 
            if ("m".equals(sexo)){
                cantHombres=cantHombres+1;
                edadHombres=edadHombres+edad;
                input = new Scanner(System.in);
                System.out.println("Digite su Edad: ");
                edad= input.nextInt();
            } else {
                cantMujeres=cantMujeres+1;
                edadMujeres=edadMujeres+edad;
                input = new Scanner(System.in);
                System.out.println("Digite su Edad: ");
                edad= input.nextInt();
            }
        }else
        {
            System.out.println("No se Admiten menores de edad");
            input = new Scanner(System.in);
            System.out.println("Digite su Edad: ");
            edad= input.nextInt();
        }
    }
 
        System.out.println(" DATOS DE LA FIESTA ");
 
        if (cantMujeres > 0){
            promMujeres=edadMujeres/cantMujeres;
        }else{
            promMujeres=0;
        }
        if (cantHombres > 0){
            promHombres=edadHombres/cantHombres;
        }else{
            promHombres=0;
        }
 
        System.out.println("Cantidad de Asistentes: "+(cantHombres+cantMujeres));
        System.out.println("Cantidad de Mujeres: "+cantMujeres);
        System.out.println("Cantidad de Hombres: "+cantHombres);
 
        if (promMujeres>0){
            System.out.println("Promedio de edad Femenino: "+promMujeres);
        }else {
            System.out.println("Promedio de edad Femenino: No Aplica");
        }
 
        if (promHombres>0){
            System.out.println("Promedio de edad Masculino: "+promHombres);
        }else {
            System.out.println("Promedio de edad Masculino: No Aplica");
        }
 
        if (joven != 100 && joven!=0){
            System.out.println("La Persona mas joven que asistio tenia: "+joven);
        }else{
            System.out.println("La Persona mas joven que asistio tenia: No Aplica");
        }
    }
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda Ejercicio Java Ciclo Mientras

Publicado por Eduard Benjumea (2 intervenciones) el 24/09/2013 21:43:36
Genial,

me has salvado la vida amigo, la experiencia definitivamente no se improvisa eres un genio.

Eternamente agradecido.

saludos.
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

Ayuda Ejercicio Java Ciclo Mientras

Publicado por sebastian (1 intervención) el 17/10/2022 16:35:28
Elaborar un programa en java que solicite la edad y sexo de 25 personas y muestre:

Cuantos son mayores y menores de edad (18 años).
Promedio de los mayores y menores de edad
Porcentaje de hombres y de mujeres
Promedio de mujeres y de hombres
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

Ayuda Ejercicio Java Ciclo Mientras

Publicado por wilson (1 intervención) el 12/03/2016 17:32:39
BUENAS TARDES AGRADEZCO POR SU GRAN AYUDA ME HA SERVIDO BASTANTE LE DESEO EL MAYOR DE LOS EXITOS EN SUS LABORES DIARIAS.

DISCULPE MOLESTAR NECESITO AYUDA PARA ESTE EJERCICIO EN JAVA AGRADEZCO SU AYUDA ESTOY ATRAZADO EN ACTIVIDADES Y NECESITO PONERME AL DIA.

Hacer un algoritmo que imprima los primeros 20 términos de la
siguiente serie:
1, 3, 6, 10, 15, 21, 28,……..
la solución a este ejercicio en JAVA
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
sin imagen de perfil

Ayuda Ejercicio Java Ciclo Mientras

Publicado por YUDERLY (1 intervención) el 06/09/2022 21:59:11
HOLA AMIGO. GRACIAS, ME SIRVIO DE GRAN AYUDA ESTE EJERCICIO...
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