Alguem pode ver se esta certo por favor?

2 respostas
psyhclo
Calcula perimetro e area do retangulo. O resultado deu isso: Perimetrer is 48,200000 | Area is 103,600000
public class Rectangle {

    private double length = 1;
    private double width = 1;
    public double perimetrer;
    private double area;

    public Rectangle(){
       
    }
    public void setLenght(double l){
    length = ((l >= 0.0 && l < 20.0) ? l : 0);
    }
    public void setWidth(double w){
    width = ((w >= 0.0 && w < 20.0) ? w : 0);
    }
    public double getLength(){
        return length;
    }
    public double getWidth(){
        return width;
    }
    public double perimetrer(double l, double w){

        length = l;
        width = w;

        perimetrer = 2*length + 2*width;
        return perimetrer;
    }

    public double area(double l, double w){

        length = l;
        width = w;

        area = length * width;
        return area;
    }
    public String mostraResultado(){

       return String.format("Perimetrer is %02f | Area is %02f", this.perimetrer(18.5, 5.6), this.area(18.5, 5.6));
   }
}
class RectangleTest{
    public static void main(String args[]){
    Rectangle r = new Rectangle();
    System.out.println(r.mostraResultado());
    }
}

2 Respostas

ViniGodoy

Retire os parâmetros do método perimetrer() e area(). Use no lugar os atributos da própria classe.

Seu mostra resultado deveria ser assim:

public String mostraResultado(){  
    return String.format("Perimetrer is %02f | Area is %02f", this.perimetrer(), this.area());  
}
E seu RectangleTest assim:
class RectangleTest{  
     public static void main(String args[]){  
     Rectangle r = new Rectangle();  
     r.setLength(18.5); 
     r.setWidth(5.6);

     System.out.println(r.mostraResultado());  
     }  
 }

Note também, que os atributos perimetrer e area (declarados como double, no início da classe), não são necessários, já que esses valores são diretamente calculados.

psyhclo
ViniGodoy:
Retire os parâmetros do método perimetrer() e area(). Use no lugar os atributos da própria classe.

Seu mostra resultado deveria ser assim:

public String mostraResultado(){  
    return String.format("Perimetrer is %02f | Area is %02f", this.perimetrer(), this.area());  
}
E seu RectangleTest assim:
class RectangleTest{  
     public static void main(String args[]){  
     Rectangle r = new Rectangle();  
     r.setLength(18.5); 
     r.setWidth(5.6);

     System.out.println(r.mostraResultado());  
     }  
 }

Note também, que os atributos perimetrer e area (declarados como double, no início da classe), não são necessários, já que esses valores são diretamente calculados.

Mas é porque eu declarei os atributos perimetrer e area pra receber o resultado do calculo. Ja que eles sao diretamente calculados, eu deveria atraibuir esse resultado a que?

Criado 17 de fevereiro de 2010
Ultima resposta 17 de fev. de 2010
Respostas 2
Participantes 2