You are on page 1of 6

Ejercicios básicos | Diario de un Aprendiz de Java https://aprendiendojava.blogspot.com/2005/05/eje...

23rd May 2005 Ejercicios básicos


Buscando por la red he encontrado unos ejercicios propuestos de clases
y objetos [http://dis.um.es/~bmoros/privado/practicas/Curso04-05
/ejercicios1.pdf<br ></a>] , y he empezado a hacerlos. Son parte de la
asignatura de Programación Orientada a Objetos de la Universidad de
Murcia. Podeis encontrar su página web en este enlace [http://dis.um.es
/~bmoros/] . En la parte teórica de la asignatura se trabaja con los
lenguajes orientados a objetos Eiffel, C++ y Java, pero las prácticas se
entregan solo en este último, Java.

El enunciado de lo primero que he hecho dice asi :

1.- Implementar la clase Posicion que represente un punto


(x,y) en el eje de las coordenadas. Cada posición viene
definida por dos valores enteros x e y. Las operaciones
disponibles son:

· Constructor por defecto, se corresponde con la


posición (0,0).
· Constructor al que se le pasa como parámetro los
valores inciales de las coordenadas X e Y.
· Constructor de copia.
· Métodos para modificación y consulta (set/get) de los
atributos de la clase.
· Métodos para incrementar y decrementar los valores
de cada una de las coordenadas de la posición (incX,
incY, decX, decY).
· Un método para establecer los valores de las
coordenadas (setXY).

Y siguiendo este enunciado, he escrito este codigo

class Posicion {
  int x, y;

/*Constructor por defecto*/


  Posicion() {
   this.x = 0;
   this.y = 0;
  }

1 de 6 12/07/18 20:23
Ejercicios básicos | Diario de un Aprendiz de Java https://aprendiendojava.blogspot.com/2005/05/eje...

/*Constructor al que se le pasa como parámetro los


valores
iniciales de las coordenadas X e Y.*/
  Posicion(int x, int y) {
   this.x = x;
   this.y = y;
  }

/*Métodos para modificación y consulta*/


  void setX(int x) {
   this.x = x;
  }

  void setY(int y) {
   this.y = y;
  }

  int getX() {
  return x;
  }

  int getY() {
   return y;
  }

/* Métodos para incrementar y decrementar los


atributos*/
  void incX() {
   x++;
  }

  void incY() {
   y++;
  }

  void decX() {
   x--;
  }

  void decY() {
   y--;
  }

/*Método para establecer los valores de las

2 de 6 12/07/18 20:23
Ejercicios básicos | Diario de un Aprendiz de Java https://aprendiendojava.blogspot.com/2005/05/eje...

coordenadas*/
  void setXY(int x, int y) {
   this.x = x;
   this.y = y;
  }
}

Como veis, lo único que me falta es el constructor de copia, pero es algo


que no he hecho nunca y aún desconozco. Queda en la lista de cosas
TO-LEARN (pero en la lista que realmente se va siguiendo, no el otra en
la que dejas los temas imposibles .. xD).
¡Aprovecho para pedir rectificaciones y/o ayudas en el codigo, se
agradece mucho si alguien lo revisa! ¡Saludos!

Posted 23rd May 2005 by servo

6 View comments

Hada 3:11 AM
Hola!
He estado mirando tu código y parece correcto, lo único que el
último método, no estoy segura de lo que te pide porque si te das
cuenta, es idéntico al de modificar...
En cuanto al constructor de copia, se utilizan para inicializar un
objeto con otro objeto de la misma clase.
Ejemplo:

public class Coordenadas


{
int x,y;
public Coordenadas(const Coordenadas c)
{
x=c.x;
y=c.y
}

};

Espero haberte ayudado algo...


Saludos!! ;)
Reply

3 de 6 12/07/18 20:23
Ejercicios básicos | Diario de un Aprendiz de Java https://aprendiendojava.blogspot.com/2005/05/eje...

Frank 1:03 PM
Hola,
El método de copia me imagino que es aquel constructor en el que
haces referencia a otro constructor, por ejemplo:

Posicion() {
this(0, 0);
}

esto da el mismo resultado de lo que habías colocado inicializando


en cero, pero es una forma más elegante. Saludos y suerte con
este maravilloso lenguaje.
Reply

kbza 1:32 PM
El constructor por copia es exactamente lo que planteo Hada.
Dicho constructor recibe como parametro otro objeto de la misma
clase y copia los atributos de este, tal cual mostro Hada.

Saludos.
Reply

yack dexsar castillo barrazueta 7:43 PM


esta chevere...pero me encantaria saber mucho mas...porfa
podriame enviarme a mi blog.
Reply

Kevin Espinoza 9:23 AM


Hola amigo esta muy interesante tu blog yo recien inicio java
desde 0, ahora recién estoy en la lectura mira tengo un ejemplo:

import java.io.*;
public class sibasico
{
public static void main (String args[])throws IOException
{

InputStreamReader teclado = new InputStreamReader (System.in);


BufferedReader flujo = new BufferedReader (teclado);
String cadena;

int a,b;

4 de 6 12/07/18 20:23
Ejercicios básicos | Diario de un Aprendiz de Java https://aprendiendojava.blogspot.com/2005/05/eje...

char c;
c='\0';
a=b=0;

System.out.print("Ingrese primer numero: ");


cadena=flujo.readLine();
a=Integer.parseInt(cadena);
System.out.print("Ingrese segundo numero: ");
cadena=flujo.readLine();
b=Integer.parseInt(cadena);
System.out.print("Elegir su tipo de operacion: ");
cadena=flujo.readLine();
c=Character.charCount(cadena);
switch (c)
{
case '+':
{

System.out.print("HOLA");
}
default:
{
System.out.print("ERROR: ");

}
}

Lo que tengo problemas es con la variable char de "c", porque


quiero ingresar con variable +, -, * para que calcule la operacion
correspondiente, pero no sé como asignar al caracter c.
he probado con:
c=Character.charCount(cadena);

pero me bota error por favor si alguien me ayuda =)


Reply

CARLOS 1:06 AM
para un costructor de copia lo unico que tienes que hacer es
instanciar como parametro el mismo contructor de la clase que

5 de 6 12/07/18 20:23
Ejercicios básicos | Diario de un Aprendiz de Java https://aprendiendojava.blogspot.com/2005/05/eje...

estas creando, que en tu caso seria Posicion


Posicion(Posicion p)
{
this.x = p.x;
this.y = p.y;
}
Reply

Enter your comment...

Comment as: Gabriel Cortez (Google) Sign out

Publish Preview Notify me

6 de 6 12/07/18 20:23

You might also like