Ejemplos sencillos de java

Este blog tiene por objetivo ayudar a los que se inician en el
lenguaje Java, con códigos que seguramente les serán de
mucha utilidad.
Mostrando entradas con la etiqueta Introducción a objetos en java. Mostrar todas las entradas
Mostrando entradas con la etiqueta Introducción a objetos en java. Mostrar todas las entradas

jueves, 7 de abril de 2011

INTRODUCCIÓN A OBJETOS PARTE II

En el siguiente ejemplo crearemos una clase llamada Triángulo , el cual utilizará tres
objetos de la clase Punto además de tres objetos de la clase Línea, veremos como
instanciaremos estos seis objetos en nuestro constructor ,ademas utilizaremos dos 
métodos de la clase Linea como son longitud y pendiente , los métodos de la clase
Triángulo que usaremos son esTriángulo( ) y area() .

=======================================================


import java.io.*;

    public class Triangulo{

        Punto P1=null;
        Punto P2=null;
        Punto P3=null;
        Linea L1=null;
        Linea L2=null;
        Linea L3=null;
        //Constructor de la clase Triángulo
        public Triangulo(Punto Punto1,Punto Punto2,Punto Punto3){
            P1=Punto1;
            P2=Punto2;
            P3=Punto3;
            L1=new Linea(P1,P2);
            L2=new Linea(P1,P3);
            L3=new Linea(P2,P3);
        }
         //metodo que reconoce si los tres puntos forman un Triángulo o no
         boolean esTriangulo(){
            boolean triangulo=true;
            double m1=L1.pendiente();
            double m2=L2.pendiente();
            double m3=L3.pendiente();
                if(m1==m2 || m1==m3 || m2==m3){
                    triangulo=false;
                    }
                else{
                    triangulo=true;
                }
            return triangulo;
        }
        //método que calcula el área del Triángulo
         double area(){
            if(esTriangulo()==true){
                double lon1=L1.longitudLinea();
                double lon2=L2.longitudLinea();
                double lon3=L3.longitudLinea();
                double s=(lon1+lon2+lon3)/2;
                double area_T=Math.sqrt(s*(s-lon1)*(s-lon2)*(s-lon3));
                return area_T;
                }
            else{
                return 0;
            }
         }
        public static void main(String[]args)throws IOException{
          
            BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
            System.out.println("========================================");
            System.out.println("Ingrese las coordenadas del primer punto");
            System.out.println("========================================");
            System.out.println("Ingrese la coordenada X");
            double x1=Double.parseDouble(br.readLine());
            System.out.println("Ingrese la coordenada Y");
            double y1=Double.parseDouble(br.readLine());
            System.out.println("=========================================");
            System.out.println("Ingrese las coordenadas del segundo punto");
            System.out.println("=========================================");
            System.out.println("Ingrese la cooordenada X");
            double x2=Double.parseDouble(br.readLine());
            System.out.println("Ingrese la coordenada Y");
            double y2=Double.parseDouble(br.readLine());
            System.out.println("========================================");
            System.out.println("Ingrese las coordenadas del tercer punto");
            System.out.println("========================================");
            System.out.println("Ingrese la coordenada X");
            double x3=Double.parseDouble(br.readLine());
            System.out.println("Ingrese la coordenada Y");
            double y3=Double.parseDouble(br.readLine());
            System.out.println("========================================");

            Punto PA=new Punto(x1,y1);
            Punto PB=new Punto(x2,y2);
            Punto PC=new Punto(x3,y3);

            Triangulo T1=new Triangulo(PA,PB,PC);
            System.out.println("EL AREA DEL TRIANGULO ES: " + T1.area());

          


        }

    }

INTRODUCCIÓN A OBJETOS PARTE I

Es bien sabido que todo el potencial de java radica en la programación orientada a 
objetos,el cual se traduce en crear clases que nos puedan servir de referencia para 
otras clases futuras,es decir reutilizar nuestro código lo cual nos permitirá ser más
eficientes en nuestro trabajo.
En este primer ejemplo, crearemos una clase llamada Punto el cual tendrá dos 
variables de instancia además de un constructor, que nos servirá para las clases
Línea y Triángulo. 

======================================================

public class Punto {

    double x=0;
    double y=0;

    public Punto(double CorX,double CorY){
      x=CorX;
      y=CorY;
    }
}
======================================================

Luego crearemos una clase Línea ,el cual como sabemos esta compuesta por dos
puntos , es decir usaremos como variables de instancia dos objetos de la clase
Punto. Aquí el código :

======================================================
import java.io.*;
public class Linea {

    Punto Punto1=null;
    Punto Punto2=null;
    
    //Constructor de la clase Linea, observar como iniciamos los dos puntos que declaramos lineas arriba.
    public Linea(Punto P01,Punto P02 ){
              Punto1=P01;
              Punto2=P02;
    }
   
    //metodo que reconoce si los dos puntos no son los mismos 
    //Si los puntos son iguales no se podra formar una linea
    boolean esLinea(){
        boolean resultado=true;
        if(Punto1.x==Punto2.x && Punto1.y==Punto2.y ){
            resultado=false;
        }
        else{
            resultado=true;
        }
            return resultado;
    }
    //método para calcular la longitud de la linea
    double longitudLinea(){

        double longitud=0;
        if(esLinea()==true){
            longitud=Math.sqrt(Math.pow(Punto2.x-Punto1.x, 2) + Math.pow(Punto2.y -Punto1.y,2) );
        }
        else{
            System.out.println("No es una linea");
            System.exit(0);
        }
        return longitud;
    }

    double pendiente(){

        double m=(Punto2.y-Punto1.y)/(Punto2.x-Punto1.x);
        return m;

    }
    

    public static void main(String[]args)throws IOException{

        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

        try {
        System.out.println("Ingrese las coordenadas del punto A: ");
        System.out.println("Ingrese el valor de x");
        double X1=Double.parseDouble(br.readLine());
        System.out.println("Ingrese el valor de y");
        double Y1=Double.parseDouble(br.readLine());
        Punto PA=new Punto(X1,Y1);//creamos el objeto Punto A

        System.out.println("Ingrese las coordenadas del punto B: ");
        System.out.println("Ingrese el valor de x");
        double X2=Double.parseDouble(br.readLine());
        System.out.println("Ingrese el valor de y");
        double Y2=Double.parseDouble(br.readLine());
        Punto PB=new Punto(X2,Y2);//Creamos el objeto Punto B

        //Con los dos puntos podemos crear una linea
        Linea L1=new Linea(PA,PB);

        double longitud= L1.longitudLinea();
        double pendienteLinea=L1.pendiente();
        System.out.println("La longitud de la linea es: " + longitud);
        System.out.println("La pendiente de la linea es: " + pendienteLinea);
    }catch(NumberFormatException e){
        System.out.println("Error en la entrada de datos " + e.getMessage());
    }
    
    }
}

===================================================
Aquí vemos que hemos creado nuestra clase Línea , y hemos usado dos 
objetos de la clase Punto para crear un objeto de la clase Linea, además de 
crear otros métodos como Longitud de la Línea o la pendiente de la misma.

Aquí la simulación: