Você está na página 1de 6

ESCUELA POLITÉCNICA NACIONAL

PROGRAMACIÓN ORIENTADA A OBJETOS

JORGE PARRA

PLANO CARTESIANO

PAR ORDENADO
package ec.edu.epn.redes.poo;
/**
*
* @author jorgepoli
*metodo que asigna valores automaticos a x,y
*/
public class ParOrdenado {
private int x;
private int y;

public ParOrdenado() {
x = 0;
y = 0;
}

public ParOrdenado(int x, int y) { //metodo que recibe dos datos


this.x = x;
this.y = y;
}
public void setX(int x){//sirve para modificar los valores de
ParOrdenado
if (x>=0){
this.x = x;
}else{
this.x= 0;
}
}
public void setY(int y){//metodo set sin retorno pero con un int
de entrada
if (x>=0){
this.y = y;
}else{
this.y= 0;
}
}
public int getX(){
return this.x;
}
public int getY(){
return this.y;
}
public double CalcularDistancia() {
return Math.pow(x * x + y * y, 0.5);
}

public double CalcularDistancia(ParOrdenado otro) {// metodo


para calcular distancia
int dx = this.x - otro.x;
int dy = this.y - otro.y;
return Math.pow(dx * dx + dy * dy, 0.5);
}
public void mostrarPO() {// metodo para mostrar x, y
System.out.println("(" + x + "," + y + ")");
}
public String toString (){
return ("("+this.x+ ","+this.y+")");
}
}
PLANO CARTESIANO
package ec.edu.epn.redes.poo;

import java.util.Scanner;

public class PlanoCartesiano {


private ParOrdenado[] listaPO;
private int indice=0;//variable inicializada en 0
public PlanoCartesiano() {

listaPO = new ParOrdenado [100];


}
public void agregarPO(ParOrdenado nuevo){//(intx,inty)
if(indice>99){// hasta que indice cumpla con la condicion
nos dejara ingresar valores
System.err.println("No existe espacio");
return;
}
listaPO[indice]=nuevo;
indice++;
}
public void imprimir(){//inicio de metodo imprimir
if(indice>0){
for(int i=0; i<listaPO.length; i++){

System.out.println(listaPO[i]+ "i"+
"x="+listaPO[i].getX()+ "......y="+listaPO[i].getY());
}
}else {
System.out.println("***********"+"\nNO se ha
introducido ningun Par Ordenado\n"+ "*********");
}
}
public void crear(){//inicio de metodo crear
int x, y;
Scanner entrada=new Scanner(System.in);
System.out.println("ingrese x:");//pedimos por pantalla que
ingrese x
x=entrada.nextInt();
System.out.println("ingrese y:");//pedimos por pantalla que
ingrese y
y=entrada.nextInt();
}
public static void main(String[]arg){//solicita que ingrese x
PlanoCartesiano pc=new PlanoCartesiano();
int x, y;
Scanner entrada=new Scanner(System.in);
System.out.println("ingrese x:");
x=entrada.nextInt();
}

}
APLICACIÓN
package ec.edu.epn.redes.poo;

import java.util.Scanner;

public class Test {//la aplicacion con la que se trabaja


public static void main(String[] args) {
ParOrdenado PO = new ParOrdenado();
PO.mostrarPO();
ParOrdenado po1, po2;
po1 = new ParOrdenado();
po2 = new ParOrdenado();
System.out.println(po1.CalcularDistancia());
System.out.println(po1.CalcularDistancia(po2));
PlanoCartesiano pl1=new PlanoCartesiano();
Scanner al= new Scanner(System.in);//crea una variable de
tipo Scanner
int op;
do {
System.out.println("\n*********\n\t\tMENU:\n1.
Agregar Par Ordenado\n2. Imprimir Lista\n3. Salida");
System.out.println("\n\nIngrese la opcion: ");// nos
muestra el menu
op= al.nextInt();//la opcion para poder escoger
switch (op){//los casos para poder escoger

case 1:
pl1.crear();
break;
case 2:
pl1.imprimir();
break;
case 3:
System.out.println("Fin del programa...");
break;
default:
break;
}
}while (op!=3);
al.close();
}
}
CAPTURAS DE PANTALLA

CLASE PAR ORDENADO

CLASE PLANO CARTESIANO


CLASE TEST

Você também pode gostar