domingo, 2 de octubre de 2022

Ejercicios POO en JAVA

Ejercicios POO en JAVA

1. 
Crear una clase Aeropuerto con los siguientes atributos: nombre(String), direccion(Direccion), Año Inauguración(int), Capacidad(int) y los métodos públicos get/set y el método toString. Considere un constructor explicito con parámetros.
Crear la clase Direccion con los siguientes atributos: Pais(String)
, Calle(String), Numero(int), Ciudad(String) y sus metodos get/set y el metodo toString();
Desarrolle Un método que devuelva el número de años que ha estado abierto el aeropuerto.

Solucion:

public class Aeropuerto {
  private String name;
  private Direccion direccion;
  private int inaugurationYear;
  private int capacity;

  public Aeropuerto(String name, Direccion direccion, int inaugurationYear, int capacity) {
    this.name = name;
    this.direccion = direccion;
    this.inaugurationYear = inaugurationYear;
    this.capacity = capacity;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public Direccion getDireccion() {
    return direccion;
  }

  public void setDireccion(Direccion direccion) {
    this.direccion = direccion;
  }

  public int getInaugurationYear() {
    return inaugurationYear;
  }

  public void setInaugurationYear(int inaugurationYear) {
    this.inaugurationYear = inaugurationYear;
  }

  public int getCapacity() {
    return capacity;
  }

  public void setCapacity(int capacity) {
    this.capacity = capacity;
  }

  @Override
  public String toString() {
    return "Aeropuerto{" +
            "name='" + name + '\'' +
            ", direccion=" + direccion +
            ", inaugurationYear=" + inaugurationYear +
            ", capacity=" + capacity +
            '}';
  }

  public int numberOfYearsOpen() {
    return LocalDate.now().getYear() - inaugurationYear;
  }
}


public class Direccion {
  private String pais;
  private String calle;
  private int numero;
  private String ciudad;

  public Direccion(String pais, String calle, int numero, String ciudad) {
    this.pais = pais;
    this.calle = calle;
    this.numero = numero;
    this.ciudad = ciudad;
  }

  @Override
  public String toString() {
    return "Direccion{" +
            "pais='" + pais + '\'' +
            ", calle='" + calle + '\'' +
            ", numero=" + numero +
            ", ciudad='" + ciudad + '\'' +
            '}';
  }
}

public class Main {
  public static void main(String[] args) {
    Direccion d = new Direccion("peru", "calle nueva", 2, "lima");
    Aeropuerto a = new Aeropuerto("Jorge Chavez", d, 1970, 3000);
    System.out.println(a.numberOfYearsOpen());
    System.out.println(a);
  }
}

2. Del ejercicio anterior Agregue la clase Avión con los siguientes atributos: modelo, numero de asientos, velocidad maxima con sus respectivos metodos get/set y toString.
En la clase Aeropuerto incluya como atributo un arreglo de objetos de tipo Avion y actualice sus metodos.
Registre 2 Aeropuertos con sus aviones y Muestre en pantalla los aviones que tienen cada aeropuerto.



Solucion:
public class Aeropuerto{
    private Aviones[] avion;
}

 public static void main(String[] args) {
    Direccion d = new Direccion("peru", "calle nueva", 2, "lima");

    Avion[] x = new Avion[]{
            new Avion("ABC", 300, 1000),
            new Avion("XYZ", 200, 2000)
    };

    Avion[] y = new Avion[]{
            new Avion("SPD", 400, 5000),
            new Avion("WAR", 100, 3000)
    };

    Aeropuerto a1 = new Aeropuerto("Jorge Chavez", d, 1970, 800, x);
    Aeropuerto a2 = new Aeropuerto("Alejandro Velasco", d, 1950, 400, y);
    System.out.println(a1);
    System.out.println(a2);
  }

3. HERENCIA

public class Person {
  private String name;
  private String lastname;
  private int age;

  public Person() {
  }

  public Person(String name, String lastname, int age) {
    this.name = name;
    this.lastname = lastname;
    this.age = age;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public String getLastname() {
    return lastname;
  }

  public void setLastname(String lastname) {
    this.lastname = lastname;
  }

  public int getAge() {
    return age;
  }

  public void setAge(int age) {
    this.age = age;
  }

  public String showData() {
    return name + "\n" + lastname + "\n" + age;
  }
}


public class Student extends Person {
  private int code;
  private double finalNote;

  public Student(String name, String lastname, int age, int code, double finalNote) {
    super(name, lastname, age);
    this.code = code;
    this.finalNote = finalNote;
  }

  public int getCode() {
    return code;
  }

  public void setCode(int code) {
    this.code = code;
  }

  public double getFinalNote() {
    return finalNote;
  }

  public void setFinalNote(double finalNote) {
    this.finalNote = finalNote;
  }

  @Override
  public String showData() {
    return getName() + "\n" + getLastname() + "\n" + getAge() + "\n" + code + "\n" + finalNote;
  }
}


Student s = new Student("Luis", "Perez", 20, 666, 18);
    System.out.println(s.showData());








No hay comentarios:

Publicar un comentario

Instalación y Configuración de un DNS Público en Debian 12

Configuración de un DNS Público en Debian 12 ===================================== Registrar un dominio público en Goddady, Namecheap  ó pun...