Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Bestialazo

#1
Java / Ayuda ejercicio sencillo (creo) Java
16 Octubre 2007, 20:51 PM
Bien, tengo que hacer una practica en la que tengo casi todo hecho (creo, y a mi manera porque es mi segunda practica con java xD) en la que tengo lo siguiente ahora mismo :

Por un lado la clase Punto

Código (java) [Seleccionar]
/**
* La clase Punto modela a un punto en el plano
* @author
* @version 1.0
*/
public class Punto {
/* Definimos los atributos del punto */
/** Coordenada X del punto. atributo de tipo int, que representa números enteros */
private int x;
/** Coordenada Y del punto */
private int y;

/* definición de métodos del punto */
/** Construye un punto a partir de sus coordenadas
* @param coordX es la coordenada x del nuevo punto
* @param coordY es la coordenada y del nuevo punto
*/
public Punto(int coordX, int coordY) {
x= coordX;
y= coordY;
}

/** Imprime por pantalla la situación del punto */
public void mostrarSituacion() {
System.out.println("Punto ("+x+","+y+")");
}
}


Por otro la clase Circulo

Código (java) [Seleccionar]
/**
* Modela un circulo a partir de su centro y su radio
* @author
* @version 1.0
*/
class Circulo {
/* Definición de atributos del círculo */
/** Centro */
private Punto centro;
/** Radio */
private int radio;
/** Color */
private int color;





/* Definición de métodos del círculo */
/** Construye un círculo a partir de su centro y su radio
* @param cnt es el centro del triángulo
* @param rad es el radio del círculo
*/
public Circulo(Punto cnt, int rad, int clr) {
centro = cnt;
radio = rad;
color = clr;
}
public Circulo(Punto cnt, int rad) {
centro = cnt;
radio = rad;
color = 0;
}

public  Circulo crearCirculo(Punto p) {
   centro = p;
return this;

}

/** dibuja el círculo en pantalla */
public void mostrarSituacion () {
System.out.println("Este círculo se define por:");
System.out.println("Un centro:");
centro.mostrarSituacion();
System.out.println("Y un radio:"+radio+"");
System.out.println("su color:"+color+"");

}


}


Y por ultimo el programa para trabajar con esa clase circulo

Código (java) [Seleccionar]
/**
* Programa que ilustra el manejo de objetos Circulo
* @author
* @version 1.0
*/
class PruebaCirculo {
public static void main(String args[]) {
/* creamos un punto que sera el centro del circulo */
Punto cnt = new Punto (1,1);


/* ...y le damos un valor al radio */
int rad = 3;
/* ...creamos el circulo */
Circulo c1 = new Circulo(cnt, rad, 2);
Circulo c2 = new Circulo(cnt, rad);
Circulo c3 = new Circulo(new Punto(-1,-1),2);
Circulo c4 = c3.crearCirculo(new Punto (3,1));
/*y dibujamos el circulo */
        c3.mostrarSituacion();
c4.mostrarSituacion();

}
}



Bien, el problema ocurre cuando lo ejecuto, en c3 en vez de mostrar que su centro es (-1,-1) se muestra el centro de c4.C4, funciona bien...
La verdad es q llevo bastante rompiendome la cabeza y no se me ocurre como arreglar esto, llevo bastante poco trabajando con java creo que se nota X-D.

Bueno, muchas gracias de antemano.