elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Temas
Páginas: [1]
1  Programación / Java / Ayuda ejercicio sencillo (creo) Java en: 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
  1. /**
  2.  * La clase Punto modela a un punto en el plano
  3.  * @author
  4.  * @version 1.0
  5.  */
  6. public class Punto {
  7. /* Definimos los atributos del punto */
  8. /** Coordenada X del punto. atributo de tipo int, que representa números enteros */
  9. private int x;
  10. /** Coordenada Y del punto */
  11. private int y;
  12.  
  13. /* definición de métodos del punto */
  14. /** Construye un punto a partir de sus coordenadas
  15. * @param coordX es la coordenada x del nuevo punto
  16. * @param coordY es la coordenada y del nuevo punto
  17. */
  18. public Punto(int coordX, int coordY) {
  19. x= coordX;
  20. y= coordY;
  21. }
  22.  
  23. /** Imprime por pantalla la situación del punto */
  24. public void mostrarSituacion() {
  25. System.out.println("Punto ("+x+","+y+")");
  26. }
  27. }
  28.  

Por otro la clase Circulo

Código
  1. /**
  2.  * Modela un circulo a partir de su centro y su radio
  3.  * @author
  4.  * @version 1.0
  5.  */
  6. class Circulo {
  7. /* Definición de atributos del círculo */
  8. /** Centro */
  9. private Punto centro;
  10. /** Radio */
  11. private int radio;
  12. /** Color */
  13. private int color;
  14.  
  15.  
  16.  
  17.  
  18.  
  19. /* Definición de métodos del círculo */
  20. /** Construye un círculo a partir de su centro y su radio
  21. * @param cnt es el centro del triángulo
  22. * @param rad es el radio del círculo
  23. */
  24. public Circulo(Punto cnt, int rad, int clr) {
  25. centro = cnt;
  26. radio = rad;
  27. color = clr;
  28. }
  29. public Circulo(Punto cnt, int rad) {
  30. centro = cnt;
  31. radio = rad;
  32. color = 0;
  33. }
  34.  
  35. public  Circulo crearCirculo(Punto p) {
  36.   centro = p;
  37. return this;
  38.  
  39. }
  40.  
  41. /** dibuja el círculo en pantalla */
  42. public void mostrarSituacion () {
  43. System.out.println("Este círculo se define por:");
  44. System.out.println("Un centro:");
  45. centro.mostrarSituacion();
  46. System.out.println("Y un radio:"+radio+"");
  47. System.out.println("su color:"+color+"");
  48.  
  49. }
  50.  
  51.  
  52. }
  53.  

Y por ultimo el programa para trabajar con esa clase circulo

Código
  1. /**
  2.  * Programa que ilustra el manejo de objetos Circulo
  3.  * @author
  4.  * @version 1.0
  5.  */
  6. class PruebaCirculo {
  7. public static void main(String args[]) {
  8. /* creamos un punto que sera el centro del circulo */
  9. Punto cnt = new Punto (1,1);
  10.  
  11.  
  12. /* ...y le damos un valor al radio */
  13. int rad = 3;
  14. /* ...creamos el circulo */
  15. Circulo c1 = new Circulo(cnt, rad, 2);
  16. Circulo c2 = new Circulo(cnt, rad);
  17. Circulo c3 = new Circulo(new Punto(-1,-1),2);
  18. Circulo c4 = c3.crearCirculo(new Punto (3,1));
  19. /*y dibujamos el circulo */
  20.        c3.mostrarSituacion();
  21. c4.mostrarSituacion();
  22.  
  23. }
  24. }


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.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines