Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Programa do-while-for en java

Estas en el tema de Programa do-while-for en java en el foro de Java en Foros del Web. Hola amigos, Alguien me puede ayudar a hacer un programa con las siguientes caracteristicas: En una escuela secundaria, el encargado de paraescolares está inscribiendo a ...
  #1 (permalink)  
Antiguo 06/05/2016, 16:05
 
Fecha de Ingreso: noviembre-2015
Mensajes: 77
Antigüedad: 8 años, 5 meses
Puntos: 2
Programa do-while-for en java

Hola amigos,

Alguien me puede ayudar a hacer un programa con las siguientes caracteristicas:

En una escuela secundaria, el encargado de paraescolares está inscribiendo a alumnos para formar los equipos de futbol, basquetbol y béisbol, para lo cual está pidiendo que se cumpla cierta edad, para lo cual debe considerarse lo siguiente:

Edad entre 12 y 13 solo entran en futbol
Edad entre 13 y 14 entran a béisbol
Edad de 14 solo entran en basquetbol

Tomar en cuenta que para formar el equipo de futbol solo se pueden inscribir a 11 alumnos, para basquetbol solo 5 alumnos y para béisbol solo 9 alumnos, si por error se quiere inscribir uno más a un equipo que ya se encuentra completo, debe enviar un mensaje (indicando que dicho equipo está completo).

Yo había hecho este código, pero no sirve al ejecutarlo:

private void btnconsultarActionPerformed(java.awt.event.ActionE vent evt) {
// Declaración de variables
int alumno, edad,equipo;


//entrada de datos
alumno = Integer.parseInt(txtalumno.getText());
//proceso
for(int i=1;i<=alumno;i=i+1)
{
do
{
edad = Integer.parseInt(JOptionPane.showInputDialog(this,
"Ingrese la edad " + i, "Equipo",1));
}while(edad>=12 || edad<=14);

if(edad>=12 || edad>=14){
equipo = Integer.parseInt("football" + edad);
equipo = Integer.parseInt("baseball" + edad);
equipo = Integer.parseInt("basketball" + edad);
}else{
equipo = alumno + edad;
taResultado.setText("Equipo");
}
}
}

private void btnsalirActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.dispose();
}
__________________
paco alonso
  #2 (permalink)  
Antiguo 07/05/2016, 12:57
 
Fecha de Ingreso: abril-2009
Mensajes: 121
Antigüedad: 15 años
Puntos: 4
Respuesta: Programa do-while-for en java

Hola:

No sé muy bien qué quieres hacer. Voy por partes.

// Aquí pides que introduzca la edad, pero creo que la condición es incorrecta. Quieres hacer un bucle que pide que introduzca la edad y se repita el bucle si ésta no es mayor que 12 y menor que 14, ¿no?

do
{
edad = Integer.parseInt(JOptionPane.showInputDialog(this,
"Ingrese la edad " + i, "Equipo",1));
}while(edad>=12 || edad<=14);

Creo que quieres pedir que la edad esté entre 12 y 14 años, ¿no?. Luego sería:

} while(edad<12 || edad>14);

Si la edad es menor que 12 o mayor que 14, repites el bucle y vuelves a pedir la edad porque esa no es válida.

Lo otro no sé si uno puede hacer dos deportes. Es decir, si tiene 13 juega fútbol y béisbol y si tiene 14 ¿juega sólo basquet?

Esto cuando me lo aclares trato de ayudarte.

Un saludo.
  #3 (permalink)  
Antiguo 07/05/2016, 14:15
 
Fecha de Ingreso: noviembre-2015
Mensajes: 77
Antigüedad: 8 años, 5 meses
Puntos: 2
Respuesta: Programa do-while-for en java

Pues si, necesito que las edades límite sean entre 12 y 14 años, por eso el bucle esta asi:

while(edad>=12 || edad<=14);

es decir, que si tiene 12 o 13 años debe entrar en el equipo de football (futbol)con un máximo de 11 jugadores.
si tiene 13 o 14 años, debe entrar en el equipo de baseball (beisbol) con un máximo de 9 jugadores
en el caso del basketball (basketbol) solo entra si tiene 14 años y con un máximo de 5 jugadores.

Me quedo hasta el bucle por que lo demas no se como configurarlo, había hecho un código que es el que observaste pero no hace nada, al final solo aparece el showInputDialog pidiendo la edad del alumno 1 y ahi se queda ciclado.
__________________
paco alonso
  #4 (permalink)  
Antiguo 08/05/2016, 05:38
 
Fecha de Ingreso: abril-2009
Mensajes: 121
Antigüedad: 15 años
Puntos: 4
Respuesta: Programa do-while-for en java

Hola:

Perdona, quizá no te entienda bien. Tu código se queda embuclado pidiendote la edad porque la condición del bucle está mal (while(edad>=12 || edad<=14);)

Cámbiala por la que te envié (while(edad<12 || edad>14)), pruébalo y me cuentas.

Un saludo.
  #5 (permalink)  
Antiguo 08/05/2016, 05:41
 
Fecha de Ingreso: abril-2009
Mensajes: 121
Antigüedad: 15 años
Puntos: 4
Respuesta: Programa do-while-for en java

Otra cosa:

1.- Si un chaval tiene 13 años ¿a qué deporte juega? porque la condición =13 supone dos deportes: fútbol y beisbol.

2.- Si ya hay 11 en fútbol y alguien pone que su edad es 12, ¿se le rechaza?
  #6 (permalink)  
Antiguo 18/05/2016, 08:32
 
Fecha de Ingreso: noviembre-2015
Mensajes: 77
Antigüedad: 8 años, 5 meses
Puntos: 2
Respuesta: Programa do-while-for en java

Mira, hice este código que al parecer todo iba bien porque ya toma los datos y los envía a 3 textarea, pero no logro hacer que por ejemplo:
si se inscribe 6 alumnos y de estos 6, 4 van a football y 2 a baseball, no logro hacer que el contador me marque 4 registros y 2, sino que hace un conteo consecutivo y me manda 4 en football y 6 en baseball.

private void btningresarActionPerformed(java.awt.event.ActionEv ent evt) {
// TODO add your handling code here:
byte alumno, edad;

String football;
String baseball;
String basketball;
//entrada de datos
alumno = Byte.parseByte(txtalumno.getText());
//proceso
for(int i=1;i<=alumno;i=i+1)
{
do
{
edad=Byte.parseByte(JOptionPane.showInputDialog(th is,
"Ingrese la edad del alumno"+ i,"Notas",1));
} while(edad<12 || edad>14);
football="Football";
if(edad==12){
tafootball.setText("Edad: " + edad + " \nRegistrado en: " + football
+ "\nTotal registrados en equipo: " + i);


}else{
baseball="Baseball";
if(edad==13){
tabaseball.setText("Edad: " + edad + " \nRegistrado en: " + baseball
+ "\nTotal registrados en equipo: " + i);

}else{
basketball="Basketball";
tabasketball.setText("Edad: " + edad + " \nRegistrado en: " + basketball
+ "\nTotal registrados en equipo: " + i);
}
}
}
__________________
paco alonso
  #7 (permalink)  
Antiguo 22/05/2016, 03:34
 
Fecha de Ingreso: abril-2009
Mensajes: 121
Antigüedad: 15 años
Puntos: 4
Respuesta: Programa do-while-for en java

Hola:

Entiendo que "i" es el contador, y si es así, "i" es el mismo valor vaya dobnde vaya el jugador (Footbal, baketball,...) porque "i" es el contador del bucle.
Deberías crear tres contadores diferentes e inicializarlos a 0. Por ejemplo:
iFootball =0;
iBasketBall =0;
iBaseBall =0;
Y:
cuando edad==12, iFootball++;
cuando edad==13, iBaseBall++;
cuando edad==14, iBasketBall++;

Creo que esto es lo que quieres. Si no, ya sabes, pregunta.

int iFootball =0;
int iBasketBall =0;
int iBaseBall =0;
for(int i=1;i<=alumno;i=i+1)
{
do
{
edad=Byte.parseByte(JOptionPane.showInputDialog(th is, "Ingrese la edad del alumno"+ i,"Notas",1));
} while(edad<12 || edad>14);
football="Football";
if(edad==12){
iFootball++;
tafootball.setText("Edad: " + edad + " \nRegistrado en: " + football + "\nTotal registrados en equipo: " + iFootball);
}else{
baseball="Baseball";
if(edad==13){
iBaseBall++;
tabaseball.setText("Edad: " + edad + " \nRegistrado en: " + baseball + "\nTotal registrados en equipo: " + iBaseBall);
}else{
basketball="Basketball";
iBasketBal`++;
tabasketball.setText("Edad: " + edad + " \nRegistrado en: " + basketball + "\nTotal registrados en equipo: " + iBasketBall);
}
}
}
  #8 (permalink)  
Antiguo 24/05/2016, 17:01
 
Fecha de Ingreso: noviembre-2015
Mensajes: 77
Antigüedad: 8 años, 5 meses
Puntos: 2
Respuesta: Programa do-while-for en java

Excelente amigo, es exactamente lo que estaba buscando que hiciera el programa, lo que no se me había ocurrido es el contador como me lo enseñaste.
Gracias amigo
__________________
paco alonso

Etiquetas: programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:53.