/*1.- (6 puntos) Se desea realizar un programa en Java permita al usuario introducir una serie de
datos de familias. Para cada familia se introducirá (en este orden):
• nombre del padre
• edad del padre
• nombre de la madre
• edad de la madre
• número de hijos para cada hijo:
o nombre del hijo
o edad del hijo
Se sabrá que no se van a introducir más datos cuando el nombre del padre sea “fin”.
Se deberá mostrar al final:
• Cantidad de familias en las que ambos padres tienen más de 30 años.
• Nombre del padre y madre de la familia con más hijos.
• Media de hijos que tienen las familias.
• Nombre del hijo con menor edad.
• Edad media de las esposas en las familias sin hijos.
*/
import javax.swing.*;
public class UnoControl
{
public static void main(String args[])
{
String sNombrePadre,sNombreMadre,sNombreHijo,sNombrePadreMasHijos="",sNombreMadreMasHijos="",sNombreMinHijo="";
int iEdadPadre,iEdadMadre,iEdadHijo,iMinEdadHijo=1000,iNumHijos,iContMayor=0,iMaxHijos=-1,iAcumHijos=0,iContFamilias=0,iSumaEdadMadresSinHijos=0,iContMujeresSinHijos=0;
final int MIN_EDAD=30;
sNombrePadre=JOptionPane.showInputDialog("Introduce el nombre del padre");
while(!sNombrePadre.equals("fin"))
{
iEdadPadre=Integer.parseInt(JOptionPane.showInputDialog("Introduce la edad del padre"));
sNombreMadre=JOptionPane.showInputDialog("Introduce el nombre de la madre");
iEdadMadre=Integer.parseInt(JOptionPane.showInputDialog("Introduce la edad de la madre"));
if(iEdadPadre>=MIN_EDAD && iEdadMadre>=MIN_EDAD)
iContMayor++;
iNumHijos=Integer.parseInt(JOptionPane.showInputDialog("Introduce el número de hijos"));
if(iNumHijos==0)
{
iSumaEdadMadresSinHijos=iSumaEdadMadresSinHijos+iEdadMadre;
iContMujeresSinHijos++;
}
if(iNumHijos>iMaxHijos)
{
iMaxHijos=iNumHijos;
sNombrePadreMasHijos=sNombrePadre;
sNombreMadreMasHijos=sNombreMadre;
}
iAcumHijos=iAcumHijos+iNumHijos;
//if(iNumHijos>0 --->mal
for(int i=0;i<iNumHijos;i++)
{
sNombreHijo=JOptionPane.showInputDialog("Introduce el nombre del hijo "+(i+1)+"º: ");
iEdadHijo=Integer.parseInt(JOptionPane.showInputDialog("Introduce la edad del hijo"+(i+1)+"º: "));
if(iEdadHijo<iMinEdadHijo)//si hay dos menores, se guarda el último
{
sNombreMinHijo=sNombreHijo;
}
}
sNombrePadre=JOptionPane.showInputDialog("Introduce el nombre del padre");
}
JOptionPane.showMessageDialog(null,"Familias com ambos mayores de 30: "+iContMayor);
JOptionPane.showMessageDialog(null,"Padres con más hijos: "+ sNombrePadreMasHijos+ " y " +sNombreMadreMasHijos);
if(iContFamilias>0)
{
JOptionPane.showMessageDialog(null,"Media de hijos: "+(float)iAcumHijos/iContFamilias);
}
else
JOptionPane.showMessageDialog(null,"No se puede hacer la media");
JOptionPane.showMessageDialog(null, "Hijo con menor edad: " +sNombreMinHijo);
JOptionPane.showMessageDialog(null, "Edad media de las esposas en las familias sin hijos: " + (float)(iSumaEdadMadresSinHijos/iContMujeresSinHijos));
}
}
/*.- (4 puntos) Realiza un programa en Java que pida al usuario una serie de palabras.
Se terminará con la palabra “fin”. Se debe mostrar al final cuántas palabras tienen al menos 4
vocales distintas. Para ello, sabemos que si la variable cadena es de tipo String, el método cadena.length()
nos da el número de caracteres que tiene.*/
import javax.swing.*;
public class DosControl
{
public static void main(String args[])
{
String pal;
int hayA,hayE,hayI,hayO,hayU,contadorPalabras=0;
pal=JOptionPane.showInputDialog("Palabra: ");
while(!pal.equals("fin"))//para pedir todas las palabras
{ hayA=0;//PARA QUE NO SE REPITA LA MISMA VOCAL SE INICIALIZAN AQUI A 0
hayE=0;
hayI=0;
hayO=0;
hayU=0;
for(int i=0;i<pal.length();i++)//recorro cada palabra
{
switch(pal.charAt(i))//miro char en posicion i
{
case 'a':
case 'A':
hayA=1;
break;
case 'e':
case 'E':
hayE=1;
break;
case 'i':
case 'I':
hayI=1;
break;
case 'o':
case 'O':
hayO=1;
break;
case 'u':
case 'U':
hayU=1;
break;
}
}
if(hayA+hayE+hayI+hayO+hayU>=4)//si tiene más de cuatro vocales distintas
contadorPalabras++;
pal=JOptionPane.showInputDialog("Palabra: ");//incremento el contador
}
JOptionPane.showMessageDialog(null,"Palabras con al menos 4 vocales distintas: " + contadorPalabras);
}
}
¡No te
olvides de seguirnos en las redes sociales y comentar la noticia!
¿Tiene alguien el siguiente control?
ResponderEliminar