Preciso fazer um programa que crie uma classe Retangulo. A classe tem atributos largura e altura, ambos sendo do tipo float. A classe deve ter métodos que calculam o perímetro (perimetro()) e a área (area()) do retângulo. A classe tem métodos set e get para a largura (largura) e a altura (altura). Os métodos set devem verificar se largura e altura são, cada um, números de ponto flutuante maiores que 0,0 e menores que 20,0. Escreva um programa em Java para testar a classe Retangulo.
Eu fiz o codigo abaixo mais na hora de executar quando eu digito numeros invalidos ele resolve normal nao considerando o if não sei onde estou errando ou se ta tudo errado alguem pode me ajudar???
package pacote;
import java.util.Scanner;
public class Retangulo {
private static float largura;
private static float altura;
public float getLargura() {
return largura;
}
public boolean setLargura(float largura) {
if ((largura < 0.0) || (largura > 20.0)) {
System.out.println("numero invalido");
return false;
} else {
this.largura = largura;
return true;
}
}
public float getAltura() {
return altura;
}
public boolean setAltura(float altura) {
if ((altura < 0.0) || (altura > 20.0)) {
System.out.println("numero invalido");
return false;
} else {
this.altura = altura;
return true;
}
}
public float perimetro() {
float p = 2 * (largura + altura);
return p;
}
public float area() {
float a = (largura * altura);
return a;
}
public static void main(String args[]) {
Retangulo oj = new Retangulo();
Scanner entrada = new Scanner(System.in);
System.out.print("altura:");
altura = entrada.nextFloat();
System.out.print("largura:");
largura = entrada.nextFloat();
System.out.print("perimetro : " + oj.perimetro() + " area :"
+ oj.area());
}
}