Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Javieerg en 29 de Octubre 2015, 05:24

Título: clase que representa un círculo static, final en Java (palabras clave) CU00673B
Publicado por: Javieerg en 29 de Octubre 2015, 05:24
Aqui esta la solucion del ejercicio, si pueden revisarla por favor..

Clase Circulo
Código: [Seleccionar]
public class Circulo{

    private static final double numeroPI = 3.1416;
    private double radio;
    private double area;
    private double longitud;
   
    public Circulo(){
        radio = 0.0;
    }
    //setter
    public void setRadio(double radio){
        this.radio = radio;
    }
    //getters
    public double getRadio(){return radio;}
   
    //metodo para calcular area del circulo
    public void CalcArea(){
        double cuadrado = 1;
        for(int i=1; i<=2; i++){
            cuadrado = cuadrado * radio;
        }
        area = numeroPI * cuadrado;
    }
    public double getArea(){return area;}
    //metodo para calcular longitud del circulo
    public void CalcLongitud(){
        double diametro = radio * 2;
        longitud = numeroPI * diametro;
    }
    public double getLongitud(){return longitud;}
}

Clase Main
Código: [Seleccionar]
import java.util.Scanner;

public class TestCirculo{

    public static void main(String []args){
       
        System.out.println("Programa para obtener Area y Longitud de un circulo");
        Circulo cir = new Circulo();
        Scanner escaner = new Scanner(System.in);
        System.out.println("Por favor ingrese el Radio deseado para el circulo:");
        cir.setRadio(escaner.nextDouble());
        cir.CalcArea();
        cir.CalcLongitud();
        System.out.println("El circulo con radio "+cir.getRadio()+" tiene un area de "+cir.getArea()+" y una longitud de "+cir.getLongitud());
    }
}
Título: Re:clase que representa un círculo static, final en Java (palabras clave) CU00673B
Publicado por: Alex Rodríguez en 30 de Octubre 2015, 09:40
Hola, esta forma de calcular el área, aunque calcula el área, no es adecuada por ser innecesariamente compleja. Es como si para llamar por un smartphone lo sacaras del bolsillo, pulsaras un dígito, lo volvieras a meter en el bolsillo, lo volvieras a sacar, pulsaras otro dígito y así hasta llegar a llamar, pero no tiene lógica pudiendo hacerlo más sencillo

Código: [Seleccionar]
public void CalcArea(){
        double cuadrado = 1;
        for(int i=1; i<=2; i++){
            cuadrado = cuadrado * radio;
        }
        area = numeroPI * cuadrado;
    }

Fíjate en la forma de resolverlo en otros hilos del foro introduciendo el código CU00673B en el buscador, por ejemplo fíjate en https://www.aprenderaprogramar.com/foros/index.php?topic=2731.0

Saludos