Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // clase de hijo
- public class Hijo {
- private String nombre;
- private String edad;
- public Hijo(String nombre,String edad){
- this.nombre = nombre;
- this.edad = edad;
- }
- public String obtenerEdad(){return edad;}
- public String toString(){
- return "NOMBRE " + nombre + "\n" +
- "EDAD " + edad;
- }
- }
- // clase para cada familia
- public class Familia {
- private Hijo[] hijos;
- public Familia(int nroDeHijos){
- hijos = new Hijo[nroDeHijos];
- }
- private boolean posicionEsValida(int pos){
- return pos >= 0 && pos < hijos.length;
- }
- public void agregarHijo(Hijo hijoNuevo, int posicion){
- if(!posicionEsValida(posicion)){System.out.println("error! posicion invalida \n");return;}
- else{hijos[posicion] = hijoNuevo;}
- }
- public double promedioDeEdadesDeHijos(){
- double totalDeEdades = 0.0;
- for(int hijo = 0; hijo < hijos.length; ++hijo)
- totalDeEdades += Double.parseDouble(hijos[hijo].obtenerEdad());
- return totalDeEdades / hijos.length;
- }
- public void mostrarDatosDeHijos(){
- for(int hijo = 0; hijo < hijos.length; ++hijo){
- System.out.printf("%s \n\n",hijos[hijo].toString());
- }
- }
- public int nroDeHijos(){
- return hijos.length;
- }
- }
- // clases para calcular los promedios
- import javax.swing.JOptionPane;
- public class CensoDeEdades {
- private static int NRO_DE_FAMILIAS = 5;
- private Familia[] familias;
- public CensoDeEdades(){
- familias = new Familia[NRO_DE_FAMILIAS];
- empezarSenso();
- }
- private Hijo crearHijo(int hijo){
- return new Hijo(JOptionPane.showInputDialog(
- "INGRESE DATOS PARA HIJO # "+ hijo +"\n"+
- "NOMBRE"),JOptionPane.showInputDialog("EDAD"));
- }
- private void reportarHijosPorFamilia(Familia familia){
- int nroDeHijosEnFamilia = familia.nroDeHijos();
- for(int hijo = 0; hijo < nroDeHijosEnFamilia; ++hijo)
- familia.agregarHijo(crearHijo(hijo + 1), hijo);
- }
- private int numeroDehijos(int familia){
- return Integer.parseInt(JOptionPane.showInputDialog("INGRESE NRO DE HIJOS PARA FAMILIA # " + familia));
- }
- private void empezarSenso(){
- for(int familia = 0; familia < NRO_DE_FAMILIAS; ++familia){
- familias[familia] = new Familia(numeroDehijos(familia + 1));
- reportarHijosPorFamilia(familias[familia]);
- }
- }
- public void mostrarPromediTotalDeEdades(){
- double sumaDePromediosPorFamilia = 0.0;
- for(int familia = 0; familia < familias.length; ++familia)
- sumaDePromediosPorFamilia += familias[familia].promedioDeEdadesDeHijos();
- System.out.format("PROMEDIO DE EDAD DE HIJOS DE TODAS LAS FAMILIAS DE MONTERRREY -----> %.2f",sumaDePromediosPorFamilia);
- }
- public void mostrarPromedioDeEdadesPorFamilia(){
- for(int familia = 0; familia < familias.length; ++familia){
- System.out.printf("PROMEDIO DE FAMILIA # %d %s %.2f \n\n",
- familia + 1,"---->", familias[familia].promedioDeEdadesDeHijos());
- }
- }
- }
- //clase de prueba
- ublic class PruebaDeCensoDeEdadoesEnMonterrey {
- public static void main(String[] args){
- CensoDeEdades censoDeMonterrey = new CensoDeEdades();
- System.out.println("\tPROMEDIO TOTAL DE EDADES DE HIJOS DE CADA FAMILIAS\n"
- + "=============================================================================\n");
- censoDeMonterrey.mostrarPromedioDeEdadesPorFamilia();
- System.out.println("\tPROMEDIO TOTAL DE EDADES DE HIJOS DE LAS FAMILIAS DE MONTERREY\n"
- + "=============================================================================\n");
- censoDeMonterrey.mostrarPromediTotalDeEdades();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement