Ayuda con metodo set en java

HoLy

Necesito como poner color a este rectángulo, de manera que se introduzca el color del rectangulo mediante otro archivo con el main, y si no introduzco su valor que se quede como color = 0

los colores son numeros
color = 1, color = 2, ....

la clase rectangulo crea un rectangulo a partir de 2 esquinas y da la posibilidad de crear otro rectangulo de la manera que aparece, el color del enlazado sera igual que el del principal

aqui os dejo el codigo

todo lo q e puesto de color es pura mierda mia

/**

  • Modela un rectángulo

  • y ofrece la posiblidad de modelar otro enlazado

  • por su esquina inferior derecha

  • @version 1.0
    */
    public class Rectangulo {

    /* Definición de atributos del rectángulo */
    /** Color del rectángulo */
    private int color = 0;
    /** Esquina superior izquierda */
    private Punto supIzq;
    /** Esquina superior derecha */
    private Punto supDer;
    /** Esquina inferior izquierda */
    private Punto infIzq;
    /** Esquina inferior derecha */
    private Punto infDer;

    /* Definición de atributos del rectángulo enlazado /
    /** Esquina superior izquierda del enlazado
    /
    private Punto supIzqEnl;
    /** Esquina superior derecha del enlazado */
    private Punto supDerEnl;
    /** Esquina inferior izquierda del enlazado */
    private Punto infIzqEnl;
    /** Esquina inferior derecha del enlazado */
    private Punto infDerEnl;

    /* Definición de metodos del Rectángulo */
    /** Construye un rectangulo a partir de dos esquinas

    • @param si es el punto de la esquina superior izquierda

      • @param id es el punto de la esquina inferior derecha
        */
        public Rectangulo(Punto si, Punto id) {
        supIzq = si;
        infDer = id;
        calcularEsquinas();
        }

      /** Calcula las esquinas superior derecha e inferior izquierda

      • a partir de las otras dos esquinas. No toma argumentos ni
      • devuelve nada, porque únicamente manipula atributos del bojeto
        */
        private void calcularEsquinas() {
        supDer = new Punto(infDer.getX(), supIzq.getY());
        infIzq = new Punto(supIzq.getX(), infDer.getY());
        }

      /** Calcula un nuevo rectangulo a partir de un nuevo punto

      • y la esquina inferior derecha del rectangulo principal
      • @param p es la esquina inferior derecha del nuevo rectangulo
        */
        public void enlazarRectangulo(Punto p) {
        infDerEnl = p;
        supIzqEnl = infDer;
        supDerEnl = new Punto(infDerEnl.getX(), supIzqEnl.getY());
        infIzqEnl = new Punto(supIzqEnl.getX(), infDerEnl.getY());
        mostrarEnlazado();
        }

      /** Dibuja el Rectangulo pricipal y el enlazado por pantalla */
      public void mostrarSituacion() {
      System.out.println("\nEste rectángulo se compone de:");
      System.out.println("Esquina superior izquierda:");
      supIzq.mostrarSituacion();
      System.out.println("Esquina superior derecha:");
      supDer.mostrarSituacion();
      System.out.println("Esquina inferior izquierda:");
      infIzq.mostrarSituacion();
      System.out.println("Esquina inferior derecha:");
      infDer.mostrarSituacion();
      System.out.println("El rectangulo es de color "+color+" ");
      System.out.println("Fin del rectángulo");
      }

      public void mostrarEnlazado() {
      System.out.println("\nEl rectangulo enlazado se compone de:");
      System.out.println("Esquina superior izquierda:");
      supIzqEnl.mostrarSituacion();
      System.out.println("Esquina superior derecha:");
      supDerEnl.mostrarSituacion();
      System.out.println("Esquina inferior izquierda:");
      infIzqEnl.mostrarSituacion();
      System.out.println("Esquina inferior derecha:");
      infDerEnl.mostrarSituacion();
      System.out.println("Este rectángulo enlazado es de color "+color+" ");
      System.out.println("Fin del rectángulo enlazado");
      }

gF

En la definicion del atributo color quitale el valor que le das

/* Definición de atributos del rectángulo */
/** Color del rectángulo */
private int color;

y luego en el constructor de la clase lo pasas como parámetro y con el valor 0 por si no se lo pasas:

public Rectangulo(Punto si, Punto id, int color = 0) {
supIzq = si;
infDer = id;
this.color = color;
calcularEsquinas();
}

De todas formas esta un poco liada la clase rectangulo eh!! te exigen que tengas los 4 puntos del rectangulo?? pq con 2 es suficiente y lo del rectangulo enlazado?? eso directamente sobra pq no es más que otro rectangulo... la verdad k no entiendo la necesidad de eso.

Usuarios habituales

  • gF
  • HoLy