Autor Tema: Cómo se definen constantes en Java static, final ejercicio resuelto CU00673B  (Leído 2179 veces)

umadara

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 45
    • Ver Perfil
Buenas, aquí os dejo otro ejercicio, el CU00673B del tutorial práctico de programación en lenguaje Java:

Código: [Seleccionar]
public class Circulo {
   
     public static final double PI = (3.1416);
     double radio = 0.0;
     double area = 0.0;
     double longitud = 0.0 ;
     
     public void circulo () {
         radio = 0.0;
     }
         
     public double insertarRadio(double _radio) {
         radio = _radio;
         return radio;
     }
     
     public double calculoAreaCirculo () {
         area = (radio * radio) * PI;
         return area;
     }
     
     public double longitudCirculo () {
         longitud = 2 * PI *radio;
         return longitud;
     }
       
}


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

public class CreaCirculo {

    public static void main (String [] args) {
        Scanner circulo = new Scanner (System.in);
        Circulo nCirculo = new Circulo();
        System.out.println ("inserte el rádio del círculo a construir");
        double radio = 0.0;
        radio = Integer.parseInt(circulo.nextLine());
       
        nCirculo.insertarRadio(radio);
        System.out.println ("el area del circulo es = " + nCirculo.calculoAreaCirculo() + " cm.");
        System.out.println ("la longitud del circulo es = " + nCirculo.longitudCirculo() + " cm.");
   
    }

}

En cuanto a la pregunta si podríamos crear un método para variar el valor de PI dentro del Main, decir que es imposible ya que a PI le hemos asignado un valor de constante, lo que implica que no se podrá modificar ese valor.

Sin más, como siempre, agradecer vuestra colaboración. Muchas gracias.

Saludos
« Última modificación: 14 de Julio 2016, 17:30 por Alex Rodríguez »

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Re:(CU00673B) static, final en Java (palabras clave).
« Respuesta #1 en: 14 de Julio 2016, 17:27 »
Buenas tardes, te hago algunas observaciones sobre el ejercicio

En la línea public static final double PI = (3.1416); los paréntesis pueden no ponerse, es suficiente

public static final double PI = 3.1416;

En general no se utilizan atributos que sean derivados o calculados a partir de otros. En este caso area y longitud se calculan a partir del radio y no sería habitual tenerlos como atributos, no obstante en ciertos casos puede interesar hacer esto.

En la clase Circulo deberías haber introducido métodos set y get, siguiendo la convención de programación en Java. El método insertarRadio es una combinación de set y get que al mismo tiempo que establece retorna el valor. Esto es posible pero se sale de la convención.

Por último ten en cuenta que el área se expresa en cm2 y la longitud en cm

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".