Estructuras anidadas Aprende programación con ejercicios Java

Lección:

Matrices, Estructuras y Cadenas


Ejercicio:

Estructuras anidadas 69


Objetivo:

Cree una estructura para almacenar dos datos para una persona:

nombre y fecha de nacimiento.

La fecha de nacimiento debe ser otra estructura que consista en día, mes y año.

Finalmente, cree una matriz de personas, pida al usuario el dato de dos personas y muéstrelas.


Código:

import java.util.*;
public class Main
{
	private final static class person
	{
		public String Name;
		public dateBirth Date = new dateBirth();

		public person clone()
		{
			person varCopy = new person();

			varCopy.Name = this.Name;
			varCopy.Date = this.Date.clone();

			return varCopy;
		}
	}

	private final static class dateBirth
	{
		public int Day;
		public int Month;
		public int Year;

		public dateBirth clone()
		{
			dateBirth varCopy = new dateBirth();

			varCopy.Day = this.Day;
			varCopy.Month = this.Month;
			varCopy.Year = this.Year;

			return varCopy;
		}
	}
	static void main(String[] args)
	{
		int d = 0, m = 0, y = 0;
		int total = 1;
		person[] p = new person[total];

		for (int i = 0; i <= total; i++)
		{
			System.out.print("Enter name: ");
			String Name = new Scanner(System.in).nextLine();
			System.out.println();
			p[i].Name = Name;

			System.out.print("Enter day: ");
			d = Integer.parseInt(new Scanner(System.in).nextLine());
			System.out.println();
			p[i].Date.Day = d;

			System.out.print("Enter month: ");
			d = Integer.parseInt(new Scanner(System.in).nextLine());
			System.out.println();
			p[i].Date.Month = m;

			System.out.print("Enter year: ");
			d = Integer.parseInt(new Scanner(System.in).nextLine());
			System.out.println();
			p[i].Date.Year = y;
		}
	}
}