Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Lorenzo31 en 08 de Abril 2015, 18:05
-
Buenas tardes, dejo mi solución para este ejercicio.
Clase EscanerDatos
import java.util.Scanner;
import java.util.InputMismatchException;
/**
* Esta clase guarda los valores introducidos por el usuario a partir del teclado
*
* @author Lorenzo31
* @version 08-04-2015
*/
public class EscanerDatos
{
/**
* Constructor vacio sin necesidad de parametros
*/
public EscanerDatos(){ /*vacio*/ }
/**
* Método que recoge datos por consola y devuelve un double
* @return devuelve un valor double introducido por el usuario
*/
public double getDouble(){
double valor = 0;
System.out.println("Introduce un valor ");
do{
try{
Scanner escaner = new Scanner(System.in);
valor = escaner.nextDouble();
}catch (InputMismatchException e){ System.out.println("Debes introducir un valor double");
}
} while (valor == 0);
return valor;
}
/**
* Método que recoge datos por consola y devuelve un entero
* @return devuelve un valor int introducido por el usuario entre 1 y 4
*/
public int getEntero(){
int valor = 0;
do{
try{
Scanner escaner = new Scanner(System.in);
valor = escaner.nextInt();
}catch (InputMismatchException e){ System.out.println("Debes introducir un valor entero");
}
} while (valor < 1 || valor > 4);
return valor;
}
}
Clase MiniCalculadoraEjemplo
import java.lang.Math;
/**
* Esta clase define operaciones matemáticas realizadas a partir
* de unos valores por que determina el usuario previamente.
* @author Lorenzo31
* @version 08-04-2015
*/
public class MiniCalculadoraEjemplo{
/**
* Constructor sin parámetros ni inicializaciones
*/
public MiniCalculadoraEjemplo(){ /*vacio*/ }
/**
* Método que calcula el valor absoluto de un número.
* @param numero : el valor sobre el que se desea ejecutar la operación
* @return valor absoluto resultante del cálculo
*/
public double getValorAbsoluto(double numero){ return Math.abs(numero); }
/**
* Método que calcula la raiz cuadrada de un número.
* @param numero : el valor sobre el que se desea ejecutar la operación
* @return valor resultante del cálculo de la raiz cuadrada
*/
public double getRaizCuadrada(double numero){ return Math.sqrt(numero); }
}
Clase GestorCalculo
/**
* Esta clase contiene el main necesario para la ejecución de los calculos
*
* @author Lorenzo31
* @version 08-04-2015
*/
public class GestorCalculo
{
/**
* Metodo main que ejecuta las opciones de calculo y pide valor al usuario
* Con menu para elegir opciones
* @see <a href = "https://www.aprenderaprogramar.es/index.php?option=com_content&view=article&id=646:documentar-proyectos-java-con-javadoc-comentarios-simbolos-tags-deprecated-param-etc-cu00680b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188" /> aprenderaprogramar.com – Didáctica en programación </a>
*/
public static void main (String [] args){
double numero;
int valor;
System.out.println("Iniciamos el programa \n ");
MiniCalculadoraEjemplo operar = new MiniCalculadoraEjemplo();
EscanerDatos entrada = new EscanerDatos();
numero = entrada.getDouble();
do{
System.out.println(" 1.- Introducir nuevo número \n 2.- Calcular valor absoluto \n 3.- Calcular raiz cuadrada \n 4.-Salir \n");
valor = entrada.getEntero();
switch(valor){
case 1: numero = entrada.getDouble(); break;
case 2: System.out.println(operar.getValorAbsoluto(numero) ); break;
case 3: System.out.println(operar.getRaizCuadrada(numero) ); break;
}
}while (valor != 4);
System.out.println("Final del programa ");
} //final main
}//final clase
-
Hola Lorenzo, el ejercicio está bien resuelto, de hecho has hecho más de lo que se pedía, ya que tan sólo se pedía documentar una clase y has documentado tres y todo bien, así que perfecto. Saludos.