Índice del Foro > Java > bucle do while extension en condicion (Y\O) |
| Autor |
Mensaje |
frankmario
Registrado: 26 Oct 2009 Mensajes: 3
|
|
| Volver arriba |
|
|
WhiteSkull Moderador Global

Registrado: 20 Mar 2009 Mensajes: 890 Ubicación: y*width+x
|
|
| Volver arriba |
|
|
frankmario
Registrado: 26 Oct 2009 Mensajes: 3
|
|
| Volver arriba |
|
|
WhiteSkull Moderador Global

Registrado: 20 Mar 2009 Mensajes: 890 Ubicación: y*width+x
|
|
| Volver arriba |
|
|
frankmario
Registrado: 26 Oct 2009 Mensajes: 3
|
|
| Volver arriba |
|
|
Gux
Registrado: 07 Nov 2009 Mensajes: 7
|
Publicado: Lun 09 Nov, 2009 17:17 pm
Título del mensaje: Re: bucle do while extension en condicion (Y\O) |
|
|
| frankmario escribió: | me dice que cree un programa que lea los siguientes datos:(sexo M o F) y nota(0=<nota<=20) y que me muestre lo siguiente.
a.- el numero de alumnos (hombres) y el Nª de alumnas(mujeres).
b.- el numero de alumnos(hombres) aprobados.
c.- el Nª de muejeres aprobadas.
d.- el Nª de mujeres desaprobadas.
e.- la nota más alta de las muejeres y la nota más alta de los hombres.
el final del ingreso de datos ocurre cuando se ingresa un dato fuera de los rangos permitidos.
BUENO TODO ESTO ES EL ENUNCIADO Y TE AGRADECERIA SI ME AYUDARAS A RESALOLLARLO CON BOLEANO. PLIS SALU2. [/code] |
Hola. Mira, me entusiasmé con lo que planteaste y desarrollé todo el programa, espero te sirva. Son dos clases, una Alumno y otra Datos (que es la que computa lo que pide la consigna. Está realizado el manejo de booleanos, espero lo veas sino me consultas. Ahora si, el código:
Clase Alumno:
| Código: |
public class Alumno{
private boolean esH;
private int nota;
public Alumno (boolean _esH, int _nota){
this.esH = _esH;
this.nota = _nota;
}
public int getNota(){
return this.nota;
}
public boolean esHombre(){
return this.esH;
}
}
|
Clase Datos:
| Código: |
import java.util.Vector;
public class Datos{
private Vector<Alumno> listaP;
public Datos(){
listaP = new Vector<Alumno>();
}
public void insertarAlumno(boolean esH, int nota){
listaP.add( new Alumno(esH,nota) );
}
public int cantHombresAprb(){
int cont = 0;
for( Alumno p : listaP ) //es una sentencia for-each, para todo alumno del arreglo
if( p.esHombre() )
if ( p.getNota()>10 ) //suponiendo que un alumno está aprobada si la nota es mayor que 10
cont++;
return cont;
}
public int cantMujeresAprb(){
int cont = 0;
for( Alumno p : listaP ) //es una sentencia for-each, para todo alumno del arreglo
if( !p.esHombre() )
if ( p.getNota()>10 ) //suponiendo que un alumno está aprobada si la nota es mayor que 10
cont++;
return cont;
}
public int cantMujeresDesaprb(){
int cont = 0;
for( Alumno p : listaP ) //es una sentencia for-each, para todo alumno del arreglo
if( ! p.esHombre() )
if ( ! (p.getNota()>10) ) //suponiendo que un alumno está aprobada si la nota es mayor que 10
cont++;
return cont;
}
public int notaMasAlta_H(){
int nota = 0;
for( Alumno p : listaP ) //es una sentencia for-each, para todo alumno del arreglo
if( p.esHombre() )
if ( p.getNota()>nota ) //suponiendo que un alumno está aprobada si la nota es mayor que 10
nota = p.getNota();
return nota;
}
public int notaMasAlta_M(){
int nota = 0;
for( Alumno p : listaP ) //es una sentencia for-each, para todo alumno del arreglo
if( ! p.esHombre() )
if ( p.getNota()>nota ) //suponiendo que un alumno está aprobada si la nota es mayor que 10
nota = p.getNota();
return nota;
}
public int cantHombres(){
int cant = 0;
for( Alumno p : listaP ) //es una sentencia for-each, para toda persona del arreglo
if( p.esHombre() )
cant++;
return cant;
}
public int cantMujeres(){
int cant = 0;
for( Alumno p : listaP ) //es una sentencia for-each, para todo alumno del arreglo
if( ! p.esHombre() )
cant++;
return cant;
}
//MÉTODO DE LA EJECUCION DEL PROGRAMA
//Uso mi propia clase Leer, cada uno tendrá su forma de leer por consola los datos que ingresa
//el usuario (la mia es usando la clase Scanner)
public static void main (String [] Args){
boolean parar=false;
boolean esHombre;
Datos registro = new Datos();
System.out.println("Ingrese a continuación los datos solicitados para cada alumno: \n");
while(!parar){
System.out.print("El alumno es hombre (si/no): "); //para indicar con "si" o "no"
String sexo = Leer.linea(); //lee una cadena de caracteres
esHombre = sexo.charAt(0)=='s' || sexo.charAt(0)=='S';
System.out.print("Ingrese la nota del alumno: ");
int nota = Leer.entero();
System.out.println();
parar = nota<0 | nota>20;
if (! parar)
registro.insertarAlumno(esHombre, nota);
}//fin while
System.out.println("Este es el informe generado a partir de los datos ingresados: ");
System.out.println("Cantidad de mujeres: "+registro.cantMujeres());
System.out.println("Cantidad de hombres: "+registro.cantHombres());
System.out.println("Cantidad de mujeres aprobadas: "+registro.cantMujeresAprb());
System.out.println("Cantidad de mujeres desaprobadas: "+registro.cantMujeresDesaprb());
System.out.println("Nota mas alta de mujeres: "+registro.notaMasAlta_M());
System.out.println("Nota mas alta de hombres: "+registro.notaMasAlta_H());
System.out.println("\nEsto es todo amigos =)");
}
}
|
Saludos. Espero te sirva! |
|
|
|
| Volver arriba |
|
|