Punto.java

   1 /**
   2  * @author Sebastian89
   3  * un ejemplo de un punto en el plano cartesiano
   4  * hecho para consola, lo mas completo posible
   5  */
   6 import java.io.*;
   7 public class Punto {
   8         //Atributos
   9         private float posx;
  10         private float posy;
  11         //constructoras
  12         public Punto(){
  13                 posx = 0;
  14                 posy = 0;
  15         }
  16         public Punto(float x, float y){
  17                 posx = x;
  18                 posy = y;
  19         }
  20         //metodos
  21         public void mover(float dx, float dy){
  22                 posx += dx;
  23                 posy += dy;
  24         }
  25         public void escalizar(float ex , float ey){
  26                 posx *= ex;
  27                 posy *= ey;
  28         }
  29         public void setx(float x){
  30                 posx = x;
  31         }
  32         public void sety(float y){
  33                 posy = y;
  34         }
  35         public float getx(){
  36                 return posx;
  37         }
  38         public float gety(){
  39                 return posy;
  40         }
  41         public float calDistancia(Punto p){
  42                 float dx = posx-p.posx;
  43                 float dy = posy-p.posy;
  44                 float d = (float) Math.abs(Math.sqrt((dx*dx)+(dy*dy)));
  45                 return d;
  46         }
  47         public static void main(String[]args) throws IOException{
  48                 //El objeto p de la clase Punto()
  49                 p = new Punto();
  50                 //Un lector que maneja los comandos q se insertan por teclado
  51                 BufferedReader l = new BufferedReader(new InputStreamReader(System.in));
  52                 //Inicia el menu
  53                 System.out.println("[C]crear un punto");
  54                 System.out.println("[B]borrar el punto");
  55                 System.out.println("[X]salir");
  56                 //termina el menu
  57                 // esta es la otra parte que hace que el lector funcione
  58                 //esto es lo que realmente hace que podamos captar los comandos del teclado
  59                 String menu = l.readLine();
  60                 if(menu.equals("x")){
  61                         System.exit(0);
  62                 }
  63                 if(menu.equals("b")){
  64                         p.posy = 0;
  65                         p.posx = 0;
  66                 }
  67                 if(menu.equals("c")){
  68                         float lc;
  69                         System.out.println("[M]Mover el punto");
  70                         System.out.println("[E]Escalizar el punto");
  71                         System.out.println("[SX]Cambiar la posición x en el punto");
  72                         System.out.println("[SY]Cambiar la posición Y en el punto");
  73                         System.out.println("[CD]Calcular la distancia un punto p1 y el punto");
  74                         System.out.println("[GX]Obtener la posición en X del punto");
  75                         System.out.println("[GY]Obtener la posición en Y del punto");
  76                         System.out.println("[X]Salir");
  77                         if(l.equals("m")){
  78                                 System.out.println("Digite la posición X");
  79                                 lc = Float.parseFloat(l.readLine());
  80                                 p.mover(lc,p.posy);
  81                                 System.out.println("Digite la posición Y");
  82                                 lc = Float.parseFloat(l.readLine());
  83                                 p.mover(lc, lc);
  84                                 System.exit(0);
  85                         }
  86                         if(l.equals("e")){
  87                                 System.out.println("Digite la escala para el punto");
  88                                 lc = Float.parseFloat(l.readLine());
  89                                 p.escalizar(lc, lc);
  90                                 System.exit(0);
  91                         }
  92                         if(l.equals("sx")){
  93                                 System.out.println("Digite la nueva posición de X en el punto");
  94                                 lc = Float.parseFloat(l.readLine());
  95                                 p.setx(lc);
  96                                 System.out.println("La nueva posición en X es: " + p.posx);
  97                                 System.exit(0);
  98                         }
  99                         if(l.equals("sy")){
 100                                 System.out.println("Digite la nueva posición de Y en el punto");
 101                                 lc = Float.parseFloat(l.readLine());
 102                                 p.sety(lc);
 103                                 System.out.println("La nueva posición en X es: " + p.posy);
 104                                 System.exit(0);
 105                         }
 106                         if(l.equals("cd")){
 107                                 System.out.println("[C]Calcular la distancia desde el origuen");
 108                                 System.out.println("[O]Calcular la distancia desde otro punto");
 109                                 Punto p1 = new Punto(0,0);
 110                                 if(l.equals("c")){
 111                                         p.calDistancia(p1);
 112                                         System.exit(0);
 113                                 }
 114                                 if(l.equals("o")){
 115                                         System.out.println("Digite la coordenada en Y");
 116                                         lc = Float.parseFloat(l.readLine());
 117                                         p1.posx = lc;
 118                                         System.out.println("Digite la coordenada en Y");
 119                                         lc = Float.parseFloat(l.readLine());
 120                                         p1.posy = lc;
 121                                         p.calDistancia(p1);
 122                                         System.exit(0);
 123                                 }
 124                         }
 125                         if(l.equals("gx")){
 126                                 System.out.println("La posición en X del punto es :"+ p.posx);
 127                                 System.exit(0);
 128                         }
 129                         if(l.equals("gy")){
 130                                 System.out.println("La posición en X del punto es :"+ p.posy);
 131                                 System.exit(0);
 132                         }
 133                         if(l.equals("X")){
 134                                 System.exit(0);
 135                         }
 136                 }
 137         }
 138 }

Categorías: CategoryJava | CategoryProgramacion

Java/Programas/ConsolaPunto (last edited 2008-04-20 14:39:27 by localhost)