gopimn / elo329_1_2022

Curso de programación orientada a objetos
1 stars 1 forks source link

Joaquin Abarca #2

Closed rionio closed 2 years ago

rionio commented 2 years ago

Insert code here --->

import java.util.Scanner;  // Import the Scanner class
public class R_3 {
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);  // Create a Scanner object
        System.out.println("########## Jugando con puntos ######## \ningrese su abscisa(x)");
        int x = reader.nextInt();  // Read user input
        System.out.println("ingrese su ordenada(y)");
        int y = reader.nextInt();  // Read user input
        System.out.println("ingrese su ordenada(z)");
        int z = reader.nextInt();  // Read user input
        Punto_3 first = new Punto_3();
        Punto_3 second = new Punto_3(x, y, z);
        if (first.equals_3(second))
            System.out.println("su punto es el origen");
        else
            System.out.println("su punto es distinto al origen\ncon una distancia de:" + first.distance_3(second));
        reader.close(); // importante cerrar el reader
    }
}

class Punto { // nombre de la clase
    private int x, y;

    // atributos para almacenar el estado.
    public Punto() { // método, define estado inicial,al momento de
        x = y = 0; // ser creado, lo llamamos método constructor.
    } // fin de constructor

    public Punto(int _x, int _y) { // otro constructor
        x = _x;
        y = _y;
    }

    public int getX() {
        return x;
    }

    public int getY() {
        return y;
    }

    public boolean equals(Punto p) {
        if (p == null)
            return false;
        return ((x == p.getX()) && (y == p.getY()));
    }

    // Obtiene la distancia sqrt((x1-x2)^2 + (y1-y2)^2)
    public double distance(Punto p) {
        if (p == null)
            return -1; // distancia negativa, punto inexistente
        double xx = x - p.getX(); // pow acepta double asi que lo guardamos de esta manera
        double yy = y - p.getY(); // pow acepta double asi que lo guardamos de esta manera
        return (Math.sqrt(Math.pow(xx, 2) + Math.pow(yy, 2)));
    }
}

class Punto_3 extends Punto {
    private int z;

    public Punto_3() {
        super();
        z = 0; 
    }

    public Punto_3(int _x, int _y, int _z) {
        super(_x, _y);
        z = _z;
    }

    public int getZ() {
        return z;
    }

    public boolean equals_3(Punto_3 p) {
        if (p == null)
            return false;
        return ((super.getX() == p.getX()) && (super.getY() == p.getY()) && (z == p.getZ()));
    }

    public double distance_3(Punto_3 p) {
        if (p == null)
            return -1; // distancia negativa, punto inexistente
        double zz = z - p.getZ(); // pow acepta double asi que lo guardamos de esta manera
        return (Math.sqrt(Math.pow(super.distance(p), 2) + Math.pow(zz, 2))) ;
    }

}
gopimn commented 2 years ago

Hola Joaquin!

Me puedes contar como te fue con el código? pudiste correr algo? escríbeme un mail :)