Contoh relasi antar kelas Java: Relasi Komposisi. Orang Kelas dan Tanggal Kelas

By | November 15, 2022

Mangihin.com.

Selamat Membaca, semoga informasi ini bermanfaat dan dapat membantu anda.

Buat kelas Orang dengan atribut berikut: nama, alamat, Kode Pos, kota, dan tanggal lahir.

Atribut tanggal lahir adalah objek dari kelas Tanggal yang dibuat di input ini.

Oleh karena itu, kelas Orang dan Tanggal memiliki hubungan komposisi.

Ke kelas Tanggal yang sudah kita miliki, kita akan menambahkan sebuah metode boolean isGreaterThan(Tanggal f) yang akan berguna bagi kita dalam latihan ini. Metode ini mengembalikan nilai true jika tanggal yang terdapat dalam objek lebih besar dari tanggal yang diterimanya sebagai parameter, dan false jika sebaliknya.

Kelas Person akan berisi metode berikut:

Pembangun

mendapatkan dan menetapkan metode

Metode boolean isOlderDeAge() yang mengembalikan true jika orang tersebut cukup umur dan false jika sebaliknya. Untuk mengetahui apakah orang tersebut sudah cukup umur, tanggal lahir dibandingkan dengan tanggal saat ini yang diperoleh dari sistem.

toString() metode yang mengembalikan data sebagai berikut:

Nombre: Adolfo Prez Clavarana                                                                                    
Fecha Nacimiento: 12-07-1987
Direccin: C/ La Isla 19 2-B
03030 Elche

Kelas Person akan digunakan dalam program yang meminta data beberapa orang dengan keyboard dan menyimpannya dalam ArrayList dari objek bertipe Person dan kemudian menampilkan informasi tentang mereka.

Kelas utama proyek dan metode utama adalah sebagai berikut:

public class Main {
    //se crea el ArrayList de Personas
    static ArrayList personas = new ArrayList();
    static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        //se leen las personas y se introducen en el ArrayList
        leerPersonas();
        if (numeroDePersonas() > 0) {
            //se muestran todas las personas introducidas
            System.out.println("nPersonas introducidas: ");
            mostrar();
            //se muestra la persona de mayor edad
            System.out.println("nPersona de mayor edad: ");
            System.out.println(personaMayorEdad());
            //se muestran todas las personas que viven en Elche
            System.out.println("nNmero de personas que viven en Elche: "
                                          + cuantasPersonasVivenEn(“Elche”));                                     
            //se muestra el nmero de personas mayores de edad
            System.out.println("nNmero de personas mayores de edad : "
                                          + personasMayoresDeEdad());         
        }
    }
     //Resto de mtodos
}

Mengikuti metode utama, kode untuk metode lainnya akan ditulis:

Metode ReadPersons(): meminta data orang-orang dari keyboard dan menambahkannya ke array.

metode show(): menampilkan data semua orang yang dimasukkan.

metode numberOfPersons(): mengembalikan jumlah orang yang terdapat dalam array.

Metode personOlder(): mengembalikan orang tertua. Jika ada beberapa, itu mengembalikan yang pertama ditemukan.

Method how manyPeopleLiveIn(String): Metode yang mengambil nama kota dan mengembalikan berapa banyak orang yang tinggal di dalamnya.

Metode peopleOfEdality(): metode yang mengembalikan berapa banyak dari orang-orang ini yang cukup umur.

Larutan:

///////////////////////////////////////////////////////////////////////////////////////////
//Clase Fecha
///////////////////////////////////////////////////////////////////////////////////////////
public class Fecha {

    private int dia;
    private int mes;
    private int ao;

    //Constructor por defecto
    public Fecha() {
    }

    //Constructor con parmetros
    public Fecha(int dia, int mes, int ao) {
        this.dia = dia;
        this.mes = mes;
        this.ao = ao;
    }

    //Mtodos get y set
    public void setDia(int d) {
        dia = d;
    }

    public void setMes(int m) {
        mes = m;
    }

    public void setAo(int a) {
        ao = a;
    }

    public int getDia() {
        return dia;
    }

    public int getMes() {
        return mes;
    }

    public int getAo() {
        return ao;
    }

    //Comprobar si la fecha es correcta
    public boolean fechaCorrecta() {
        boolean diaCorrecto, mesCorrecto, aoCorrecto;
        aoCorrecto = ao > 0;
        mesCorrecto = mes >= 1 && mes = 1 && dia = 1 && dia = 1 && dia = 1 && dia  f.ao) {
            return true;
        }
        else if(ao==f.ao && mes > f.mes) {
            return true;
        }
        else if(ao==f.ao && mes == f.mes && dia > f.dia) {
            return true;
        }
        return false;
    }
   
    //Mtodo para mostrar la fecha
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        if (dia 

///////////////////////////////////////////////////////////////////////////////////////////                       
//Clase Persona
///////////////////////////////////////////////////////////////////////////////////////////
import java.util.Calendar;

public class Persona {

    private String nombre;
    private String direccion;
    private int codigoPostal;
    private String ciudad;
    private Fecha fechaNacimiento;

    //Constructor por defecto
    public Persona() {
        fechaNacimiento = new Fecha();
    }

    //Mtodos get y set
    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getDireccion() {
        return direccion;
    }

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

    public int getCodigoPostal() {
        return codigoPostal;
    }

    public void setCodigoPostal(int codigoPostal) {
        this.codigoPostal = codigoPostal;
    }

    public String getCiudad() {
        return ciudad;
    }

    public void setCiudad(String ciudad) {
        this.ciudad = ciudad;
    }

    public Fecha getFechaNacimiento() {
        return fechaNacimiento;
    }

    public void setFechaNacimiento(Fecha fecha) {
        fechaNacimiento.setDia(fecha.getDia());
        fechaNacimiento.setMes(fecha.getMes());
        fechaNacimiento.setAo(fecha.getAo());
    }

    //Mtodo para mostrar los datos de las personas segn el formato pedido
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("Nombre: ");
        sb.append(nombre);
        sb.append("nFecha de Nacimiento: ");
        sb.append(fechaNacimiento);
        sb.append("nDireccion: ");
        sb.append(direccion);
        sb.append("n");
        sb.append(codigoPostal);
        sb.append("n");
        sb.append(ciudad);
        sb.append("n");
        return sb.toString();
    }

    //Mtodo que comprueba si la persona es mayor de edad
    public boolean esMayorDeEdad() {
        Calendar hoy = Calendar.getInstance();
        int aoActual = hoy.get(Calendar.YEAR);
        int mesActual = hoy.get(Calendar.MONTH) + 1;
        int diaActual = hoy.get(Calendar.DAY_OF_MONTH);
        if (aoActual - fechaNacimiento.getAo() > 18) {
            return true;
        } else if (aoActual - fechaNacimiento.getAo() == 18 &&
                      mesActual > fechaNacimiento.getMes()) {
            return true;
        } else if (aoActual - fechaNacimiento.getAo() == 18 &&
                     mesActual == fechaNacimiento.getMes() &&
                     diaActual >= fechaNacimiento.getDia()) {
            return true;
        }
        return false;
    }
} //Final de la clase Persona
///////////////////////////////////////////////////////////////////////////////////////////
//Clase Principal
///////////////////////////////////////////////////////////////////////////////////////////
import java.util.ArrayList;
import java.util.Scanner;

public class Main {

    //se crea el ArrayList de Personas
    static ArrayList personas = new ArrayList();
    static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        //se leen las personas y se introducen en el ArrayList
        leerPersonas();
        if (numeroDePersonas() > 0) {
            //se muestran todas las personas introducidas
            System.out.println("nPersonas introducidas: ");
            mostrar();
            //se muestra la persona de mayor edad
            System.out.println("nPersona de mayor edad: ");
            System.out.println(personaMayorEdad());
            //se muestran todas las personas que viven en Elche
            System.out.println("nNmero de personas que viven en Elche: "
                                          + cuantasPersonasVivenEn(“Elche”));
            //se muestra el nmero de personas mayores de edad
            System.out.println("nNmero de personas mayores de edad : "
                                          + personasMayoresDeEdad());         
        }
    }

    //Mtodo que lee los datos de cada persona y las aade al ArrayList
    public static void leerPersonas() {

        String nombre, direccion, ciudad;
        Fecha fecha;
        Persona p;
        int codigoPostal, N, i, dia, mes, ao;

        do {
            System.out.print("Nmero de personas? ");
            N = sc.nextInt();
        } while (N