Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: ronal.d87 en 08 de Julio 2015, 06:11

Título: Java clase que representa un circulo con atributo numero pi constante CU00673B
Publicado por: ronal.d87 en 08 de Julio 2015, 06:11
Hola a todos, he aqui el desarrollo del ejercicio CU00673B


Clase Circulo

Código: [Seleccionar]

package ejemplo;

public  class Circulo {
    //definimos las variables y sus atributos
    public static final double numeroPi=3.1416;
    public double radio;
   
    //metodo constructor
    public Circulo (double valorEntrada){
        radio = valorEntrada;       
    }
    //metodo que calcula la longitud de una circunferencia
    public double longitudCirculo(){
        double longitud = 0;
        longitud = (numeroPi*2)*radio;
        return longitud;
    }
    //metodo que calcula el area de una circunferencia
    public double areaCirculo(){
        double area;
        area = (radio*radio)*numeroPi;
        return area;
    }   
}


Clase TestCirculo

Código: [Seleccionar]

package ejemplo;

import java.util.Scanner;

public class TestCirculo {
   
    public TestCirculo(){       
    }
   
    public static void main (String [] Args){
        Circulo calculo;
        double radio = 0;
       
        Scanner lector;
        lector = new Scanner(System.in);
       
        System.out.println("Inrese el el valor del radio");
        lector.nextDouble();
        radio = lector.nextDouble();
        calculo = new Circulo(radio);
       
        System.out.println("El circulo tiene un area de: "+calculo.areaCirculo()+" y una longitud de: "+calculo.longitudCirculo());
       
    }
}


Citar
¿Es posible crear un método en la clase Circulo para establecer el valor de numeroPi?
¿Por qué?

No es posible crear un metodo en la clase circulo para establecer el valor de numeroPi porque esta "variable " en si no es una variable es una constante, y por ende no se puede modificar su valor inicial. Por ejemplo si trataramos de crear un metodo para establecer el valor de numeroPi

Código: [Seleccionar]
public void numeroPi(double nuevoValor){
        numeroPi = nuevoValor;       
    }

El compilador nos va arrojar un error diciendo que no puede asignar valores a una variable de tipo final o a una constante
Título: Re:EJERCICIO CU00673B REALIZADO
Publicado por: Lorenzo31 en 08 de Julio 2015, 12:53
Buenas, todo perfecto ;)  sigue así.
Título: Re:Java clase que representa un circulo con atributo numero pi constante CU00673B
Publicado por: Alex Rodríguez en 16 de Julio 2015, 10:52
Hola ronal, viendo los nombres de variables que has usado te recomendaría que no uses para una variable local el mismo nombre que tiene un atributo de una clase pues puede generar confusión.

En vez de estos nombres:

        Circulo calculo;
        double radio = 0;

Veo mas razonable:

        Circulo circulo1;
        double radioUsuario = 0;

Ten en cuenta que como programadores debemos crear un código que resulte fácil de mantener y si los nombres son confusos el código no será fácil de mantener.

Saludos
Título: Re:Java clase que representa un circulo con atributo numero pi constante CU00673B
Publicado por: ronal.d87 en 16 de Julio 2015, 11:52
Desde luego lo tendré en cuenta y realizare las respectivas correciones

Código: [Seleccionar]

package ejemplo;

import java.util.Scanner;

public class TestCirculo {
    public TestCirculo(){
       
    }
   
    public static void main (String [] Args){
        Circulo circulo1;
        double entrada = 0;
       
        Scanner lector;
        lector = new Scanner(System.in);
       
        System.out.println("Inrese el el valor del radio");
        lector.nextDouble();
       
        entrada = lector.nextDouble();
        circulo1 = new Circulo(entrada);
       
        System.out.println("El circulo tiene un area de: "+circulo1.areaCirculo()+" y una longitud de: "+circulo1.longitudCirculo());
       
    }
}


Código: [Seleccionar]


package ejemplo;

public  class Circulo {
   
    public static final double numeroPi=3.1416;
    public double radioUsuario;
   
       
    public Circulo (double valorEntrada){
        radioUsuario = valorEntrada;
       
    }
   
    public double longitudCirculo(){
        double longitud = 0;
        longitud = (numeroPi*2)*radioUsuario;
        return longitud;
    }
   
    public double areaCirculo(){
        double area;
        area = (radioUsuario*radioUsuario)*numeroPi;
        return area;
    }
}