Java - Clase Rectángulo

 
Vista:

Clase Rectángulo

Publicado por Roberto Gerard (1 intervención) el 26/08/2022 20:33:04
Tengo que hacer esta actividad

Cree una clase llamada Rectángulo. La clase debe tener los atributos longitud y ancho,
cada uno con un valor predeterminado de 1. Se requieren:
a) Constructor por defecto.
b) Constructor con parámetros.
c) Métodos sets y gets. Los métodos de modificación deben verificar que longitud
y ancho sean números mayores de 0 y menores de 20.
d) Métodos para calcular el perímetro y el área del rectángulo.
e) Un programa para probar la clase Rectángulo.

Y este es mi código, dice que esta incompleto pero para mi esta bien. Si alguien encuentra el error me lo puede mandar el código corregido por favor. Muchas gracias.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
public class Rectangulo {
 
    private double longitud;
    private double anchura;
 
    public Rectangulo(double longitud, double anchura) {
        this.longitud = longitud;
        this.anchura = anchura;
    }
 
    public Rectangulo() {
        this.longitud = 1;
        this.anchura = 1;
    }
//Metodos para calcular el perimetro y el Aréa
 
    public double getlongitud() {
        return longitud;
    }
 
    public double getanchura() {
        return anchura;
    }
 
    public void setlongitud(double longitud) {
        if (longitud > 0.0 && longitud < 20.0) {
            this.longitud = longitud;
        }
    }
 
    public void setanchura(double anchura) {
        if (anchura > 0.0 && longitud < 20.0) {
            this.anchura = anchura;
        } else {
            throw new RuntimeException("la Anchura debe debe de ser > 0 < 20.0");
        }
    }
 
    @Override
    public String toString() {
        return "Rectangulo{" + "longitud=" + longitud + ", anchura=" + anchura + '}';
 
    }
 
    ///////////////////////////
    public double calcularArea() {
        return anchura * longitud;
    }
 
    public double calculaPerimetro() {
        return (2 * anchura) + (2 * longitud);
    }
    ///////////////////////////
 
    public static void main(String[] args) {
        Rectangulo rect = new Rectangulo();
        rect.setanchura(-12.2);
        rect.setlongitud(12.2);
        System.out.println(rect.calcularArea());
        System.out.println(rect.calculaPerimetro());
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Clase Rectángulo

Publicado por Kabuto (1381 intervenciones) el 26/08/2022 21:39:48
Pues a priori, a mi también me parece completo.
Yo lo que quizás añadiría, y no está especificado en el enunciado, sería aplicar los métodos set() en el constructor con parámetros, para que también verifiquen que se están dando unas dimensiones dentro de los límites.
Hacer que ambos métodos lancen excepción, y probar a capturarla en el programa de prueba.

Por ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
public class Rectangulo {
 
	private double longitud;
	private double anchura;
 
	public Rectangulo(double longitud, double anchura) {
		setlongitud(longitud);
		setanchura(anchura);
	}
 
	public Rectangulo() {
		this.longitud = 1;
		this.anchura = 1;
	}
	//Metodos para calcular el perimetro y el Aréa
 
	public double getlongitud() {
		return longitud;
	}
 
	public double getanchura() {
		return anchura;
	}
 
	public void setlongitud(double longitud) {
		if (longitud > 0.0 && longitud < 20.0) {
			this.longitud = longitud;
		} else {
			throw new RuntimeException("la Longitud debe debe de ser > 0 < 20.0");
		}
	}
 
	public void setanchura(double anchura) {
		if (anchura > 0.0 && longitud < 20.0) {
			this.anchura = anchura;
		} else {
			throw new RuntimeException("la Anchura debe debe de ser > 0 < 20.0");
		}
	}
 
	@Override
	public String toString() {
		return "Rectangulo{" + "longitud=" + longitud + ", anchura=" + anchura + '}';
 
	}
 
	///////////////////////////
	public double calcularArea() {
		return anchura * longitud;
	}
 
	public double calculaPerimetro() {
		return (2 * anchura) + (2 * longitud);
	}
	///////////////////////////
 
	public static void main(String[] args) {
		try {
			Rectangulo rect = new Rectangulo();
			rect.setanchura(12.2);
			rect.setlongitud(12.2);
			System.out.println(rect.calcularArea());
			System.out.println(rect.calculaPerimetro());
 
			//Nuevo rectangulo con parámetros inválidos
			rect = new Rectangulo(-1, -1);
		}
		catch(RuntimeException re) {
			System.out.println("ERROR: " + re.getMessage());
		}
	}
}


Pero vamos, esto son detallitos. No sé realmente por qué te dicen que no está completo. ¯\_(ツ)_/¯
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar