341
Aprender a programar desde cero / CU00673B static, final en Java (palabras clave). Variables de clase o campos est
« en: 31 de Marzo 2015, 00:36 »
Buenas, dejo aquí la respuesta a mi ejercicio
Clase Circulo
Clase EntradaDatos
Clase OperacionesCirculo
Clase Circulo
Código: [Seleccionar]
public class Circulo{
private static final double NUMEROPI = 3.1416; //En mayuscula porque es final, no se puede modificar
private double radio;
public Circulo(){ //constructor inicializo y asigno valor a radio;
radio = 0.0; }
//Setter
public void setRadio(double valorRadio){
radio = valorRadio; }
//Getters
public double getRadio(){ return radio; }
public double getNumeroPi(){ return NUMEROPI; }
// Funcion que devuelve el area del circulo
public double areaCirculo(){ return NUMEROPI * (radio * radio); }
//Funcion que devuelve longitud del circulo
public double longitudCirculo(){ return 2*NUMEROPI*radio; }
}
Clase EntradaDatos
Código: [Seleccionar]
import java.util.Scanner;
import java.util.InputMismatchException;
public class EntradaDatos{
private double numero = 0;
public EntradaDatos(){ /*vacio*/ } //constructor
public void entradaDouble(){ //recoger el double por Scanner
do{
try{
Scanner entrada = new Scanner(System.in);
numero = entrada.nextDouble();
}catch (InputMismatchException e){ System.out.println("Debes introducir un numero para el radio");}
}while(numero == 0);
}
public int entradaEntero(){
int opcion = 0;
do{
try{
Scanner entrada = new Scanner(System.in);
opcion = entrada.nextInt();
}catch(InputMismatchException e){ System.out.println("Debes introducir un numero del 1 al 3");}
}while(opcion < 1 && opcion >3);
return opcion;
}
//getter
public double getDouble(){ return numero;}
}// cierre clase
Clase OperacionesCirculo
Código: [Seleccionar]
public class OperacionesCirculo{
public static void main (String[] args){
boolean salida = false;
Circulo circunferencia = new Circulo(); //creo el nuevo Circulo
System.out.println("Por favor introduce el radio de la circunferencia");
EntradaDatos entrada = new EntradaDatos(); //pido datos con nuevo EntradaDatos
entrada.entradaDouble();
circunferencia.setRadio(entrada.getDouble()); //hacemos un setRadio para pasar el valor a instancia de clase Circulo
//menu que mientras no se seleccione CASE 3 no pondra en true el boolean salida
while(salida == false){
System.out.println(" \n 1.- Dar Area Circulo \n 2.- Dar Longitud del Circulo \n 3.-Salir ");
switch (entrada.entradaEntero()){
case 1: System.out.println("\n El area del circulo es " + circunferencia.areaCirculo()); break;
case 2: System.out.println("\n La longitud del circulo es " + circunferencia.longitudCirculo()); break;
case 3: salida = true; break;
} //cierre switch
} //cierre while
System.out.println("Final del programa");
}//cierre main
}//cierre clase