Respuestas al ejercicio CU00673B del tutorial de programación orientada a objetos con Java y entorno BlueJ.
¿Es posible crear un método en la clase Circulo para establecer el valor de numeroPi? ¿Por qué?
Respuesta: NO. Debido a que se declara numeroPi como final. Esto define que no se trata de una variable sino de una constante, por lo tanto es inmodificable;
import java.util.Scanner;
public class EntradaDeTeclado {
private String entrada;
private Scanner entradaTeclado;
public EntradaDeTeclado() {
entrada = "";
entradaTeclado=new Scanner(System.in);
}
public void setEntrada(){entrada = entradaTeclado.nextLine();}
public String getEntrada(){return entrada;}
}
public class Circulo {
private static final double NUMEROPI = 3.1416;
private double radio;
public Circulo() {
// TODO Auto-generated constructor stub
}
public void setRadio(double unradio){this.radio=unradio;}
public double getRadio(){return radio;}
public double calcularArea(){return NUMEROPI*radio*radio;}
public double calcularLongitud(){return 2*NUMEROPI*radio;}
}
public class TestCirculo {
public static void main(String[] args) {
Circulo circulo = new Circulo();
EntradaDeTeclado entrada = new EntradaDeTeclado();
System.out.println("Introduzca el valor del radio: ");
entrada.setEntrada();
circulo.setRadio(Double.valueOf(entrada.getEntrada()));
System.out.println("Longitud: "+circulo.calcularLongitud());
System.out.println("Area: "+circulo.calcularArea());
}
}