Java - BIFURCACION Y BUCLES AYUDA POR FAVOR

 
Vista:
Imágen de perfil de Guillermo
Val: 10
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

BIFURCACION Y BUCLES AYUDA POR FAVOR

Publicado por Guillermo (7 intervenciones) el 28/11/2018 09:47:38
Hola estoy teniendo problemas a la hora de sacar el siguiente ejercicio;

/* Escribe un programa que indique:
la cantidad de hombres
la cantidad de mujeres
el nombre del alumno con edad máxima y dicha edad
el nombre del alumno con menor edad y dicha edad
el nombre de la alumna con edad máxima y dicha edad
el nombre de la alumna con menor edad y dicha edad
la media de las edades por hombres
la media de las edades de mujeres
que aparece en una bolsa de trabajo para los alumnos de un centro de enseñanza.
Nota: Controlar posible error en Sexo. La edad estará comprendida entre 18 y 100 años*/

El problema lo tengo a la hora de sacar el maximo de la edad de los chicos como el minimo y tambien el maximo de edad y el minimo de edad de entre las chicas os adjunto el codigo que llevo y lo que se ejecuta me salen maximos y minimos que no son ciertos y no se en que puede fallar.

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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
import java.util.Scanner;
import java.util.concurrent.SynchronousQueue;
 
public class Main {
 
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
 
		char sexo;
 
		String nombre,  nombreMaximo, nombreMinimo, nombreMaximoHombre, nombreMinimoHombre, nombreMaximoMujer, nombreMinimoMujer;
 
 
		int  edad = 0,  maximaEdad,  minimaEdad,maximaEdadHombres, minimaEdadHombres, maximaEdadMujeres, minimaEdadMujeres,
			cantidadAlumnos, contadorHombres = 0, contadorMujeres = 0;
 
		System.out.println("¿Cúantos alumnos va a introducir?");
		cantidadAlumnos=in.nextInt();
 
 
 
		System.out.println("NOMBRE;");
		nombre=in.next();
		in.nextLine();
 
 
 
 
		do{
			System.out.println("SEXO(H/M);");
			sexo=in.nextLine().charAt(0);
		if(sexo=='H'){
			contadorHombres++;
 
		}
		else if(sexo=='M'){
			contadorMujeres++;
		}
		else{
			System.out.println("ERROR introduce el sexo correctamente");
		}
		}
		while(sexo!='H' && sexo!='M');
 
		do{
		System.out.println("EDAD entre 18 y 100;");
		edad=in.nextInt();
		if(edad<18|| edad>100){
			System.out.println("ERROR introduzca la edad correctamente");
		}
		}
		while(edad<18 || edad>=100);
 
		maximaEdad=minimaEdad=edad;
		nombreMaximo=nombre;
		nombreMinimo=nombre;
 
		maximaEdadHombres=minimaEdadHombres=edad;
		maximaEdadMujeres=minimaEdadMujeres=edad;
		nombreMaximoHombre=nombre;
		nombreMinimoHombre=nombre;
		nombreMaximoMujer=nombre;
		nombreMinimoMujer=nombre;
 
		for(int i=2; i<=cantidadAlumnos; i++){
			System.out.println("NOMBRE;");
			nombre=in.next();
			in.nextLine();
 
 
 
			do{
				System.out.println("SEXO;");
				sexo=in.nextLine().charAt(0);
			if(sexo=='H'){
				contadorHombres++;
 
			}
			else if(sexo=='M'){
				contadorMujeres++;
			}
			else{
				System.out.println("ERROR introduce el sexo correctamente");
			}
			}
			while(sexo!='H' && sexo!='M');
 
 
			do{
				System.out.println("EDAD entre 18 y 100;");
				edad=in.nextInt();
				if(edad<18|| edad>100){
					System.out.println("ERROR introduzca la edad correctamente");
				}
				}
				while(edad<18 || edad>=100);
 
			if(edad>maximaEdad){
				maximaEdad=edad;
				nombre=nombreMaximo;
 
			}
			if(edad<minimaEdad){
				minimaEdad=edad;
				nombre=nombreMinimo;
			}
 
 
 
			if(edad>maximaEdadHombres && sexo=='H'){
				maximaEdadHombres=edad;
				nombre=nombreMaximoHombre;
 
			}
			if(edad<minimaEdadHombres && sexo=='H'){
				minimaEdadHombres=edad;
				nombre=nombreMinimoHombre;
			}
 
 
			if(edad>maximaEdadMujeres && sexo=='M'){
				maximaEdadHombres=edad;
				nombre=nombreMaximoHombre;
 
			}
			if(edad<minimaEdadMujeres && sexo=='M'){
				minimaEdadMujeres=edad;
				nombre=nombreMinimoMujer;
			}
 
 
		}
 
 
		System.out.println("La cantidad de Hombres es de "+contadorHombres);
		System.out.println("La cantidad de Mujeres es de "+contadorMujeres);
		System.out.println("El alumno con la edad maxima es de  "+nombreMaximo+" con "+maximaEdad);
		System.out.println("El alumno con la edad minima es de  "+nombreMinimo+" con "+minimaEdad);
 
		System.out.println("El alumno chico con la edad maxima es de  "+nombreMaximoHombre+" con "+maximaEdadHombres);
		System.out.println("El alumno chico con la edad minima es de  "+nombreMinimoHombre+" con "+minimaEdadHombres);
		System.out.println("La alumna chica con la edad maxima es de  "+nombreMaximoMujer+" con "+maximaEdadMujeres);
		System.out.println("La alumna chica con la edad minima es de  "+nombreMinimoMujer+" con "+minimaEdadMujeres);
 
	}
 
}
Screenshot_2
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