Programación General > Java

 No se como hacer este pedacito....

(1/2) > >>

digichap28:
Crea una clase CRectángulo. La clase tiene dos datos miembro, largo y ancho. La clase cuenta con
métodos que calculan el perímetro (obtenPerímetro) y el área (obtenÁrea) del rectángulo, así como
métodos para obtener y poner los valores correspondientes a los atributos largo y ancho.
Los métodos poner deben comprobar que tanto largo como ancho sean mayores que 0 y menores que 20.


--- Código: Text ---import javax.swing.*;public class CRectangulo {     private float largo;    private float ancho;            /////////////////////////////////////////////////////////////////////////////////////////////////////////////    public void setLargo(float L){                largo=L;                         }        public float getLargo(){        return largo;    }        /////////////////////////////////////////////////////////////////////////////////////////////////////////////    public void setAncho(float a){                ancho=a;                   }        public float getAncho(){        return ancho;    }        /////////////////////////////////////////////////////////////////////////////////////////////////////////////          public float obtenArea(){        float area=0;        area=largo*ancho;                return area;            }        public float obtenPerimetro(){        float perimetro=0;        perimetro=(2*(largo + ancho));                return perimetro;            }              /////////////////////////////////////////////////////////////////////////////////////////////////////////////////        public static void main(String args[]){        CRectangulo r=new CRectangulo();        r.setLargo(Float.parseFloat(JOptionPane.showInputDialog("Digite el largo del rectangulo ")));        r.setAncho(Float.parseFloat(JOptionPane.showInputDialog("Digite el ancho del rectangulo ")));        float respuestaArea=r.obtenArea();        float respuestaPerimetro=r.obtenPerimetro();        JOptionPane.showMessageDialog(null,"El area del rectangulo es = "+ respuestaArea + "n" + "El perimetro del rectangulo es = " + respuestaPerimetro);                }            } 
No se como haria lo subraye en el enunciado (si se que L deb cumplir esto ((( L > 0 && L < 0 ))) al igual que a , no sabria como implementarlo )
Por favor ayudenme.
MUCHAS GRACIAS

m0skit0:

--- Cita de: "digichap28" ---L > 0 && L < 0
--- Fin de la cita ---

Supongo que querrás decir L>0 && L<20.


--- Cita de: "digichap28" ---Los métodos poner
--- Fin de la cita ---

Ya te lo dicen, hay que comprobar a la hora de "poner" ("set" en inglés) el valor, por tanto en setLargo() y setAncho(), tal que:


--- Código: Java --- public void setLargo(float L){     if  (L>0 && L<20)         largo=L;   }  public void setAncho(float a){     if  (a>0 && a<20)         ancho=a;}  
Podrías añadir un aviso o algo en caso de que no se cumpla el rango de los valores. Un saludo.

digichap28:
UMM, asi lo tenia yo  pero considere q estaba incorrecto porque no me mostraba nada , sino que la respuesta arrojada (area y perimetro) es 0.
Ahora, para devolver un mensaje que tal vez diga que "El dato entrado no es valido, el resultado se vera alterado" , como lo meteria en los metodos set , si lo que me devuelve es un float.

Tendria que ponerlo en otro metodo?
No puedo pq el problema me pide la comprobacion en el SET , pero de la forma que digo no lo veo posible.

Muchas gracias por responder.

m0skit0:

--- Cita de: "digichap28" ---como lo meteria en los metodos set , si lo que me devuelve es un float.
--- Fin de la cita ---

Ejem, no, te devuelve void (es decir, nada).


--- Cita de: "digichap28" ---Tendria que ponerlo en otro metodo?
--- Fin de la cita ---

No, no, hay que sacar el mensaje por pantalla simplemente. No te rayes:


--- Código: Java --- System.out.println("Error, introduzca un valor en el rango (0,20)");  
por ejemplo.

SFRJ:
Oye que hace esta linea?

r.setLargo(Float.parseFloat(JOptionPane.showInputDialog("Digite el largo del rectangulo ")));

Como consigue un valor float de un String?
Esto es GUI no?

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa