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


0