import java.util.*;
public class Area { public static Scanner entrada=new Scanner(System.in);
public static void main(String[] args) { int opcion=-1;
double base=0,altura=0,radio=0;
while(opcion!=0){ opcion=menu();
switch(opcion) { case 1:
// area de un cuadrado
base=solicitarValor("Indica la base o altura: "); System.out.println("\nEl area del cuadrado es " + (base*base)); break;
case 2:
// area de un rectangulo
base=solicitarValor("Indica la base: "); altura=solicitarValor("Indica la altura: "); System.out.println("\nEl area del rectangulo es " + (base*altura)); break;
case 3:
// area de un circulo
radio=solicitarValor("Indica el radio: "); System.out.printf("\nEl area de la circunferencia es %1.2f\n", Math.PI*(Math.pow(radio,2))); break;
case 4:
// area de un triangulo
base=solicitarValor("Indica la base: "); altura=solicitarValor("Indica la altura: "); System.out.printf("\nEl area del triangulo es %1.2f\n", (base*altura)/2); break;
}
}
entrada.close();
}
private static double solicitarValor(String texto) { while(true){ try { System.out.print(texto);
return entrada.nextDouble();
}catch(InputMismatchException e) { // Controlamos que siempre introduzca un valor numerico
System.out.println("El valor tiene que ser numerico..."); entrada.nextLine();
}
}
}
private static int menu() { int opcion=-1;
System.out.println("\n\n---------------------------"); System.out.println("1-Area de un cuadrado"); System.out.println("2-Area de un rectangulo"); System.out.println("3-Area de un circulo"); System.out.println("4-Area de un trinagulo"); System.out.println("0-Salir"); System.out.println("Selecciona una opción"); while(opcion<0) { try { opcion=entrada.nextInt();
}catch(InputMismatchException e) { // Controlamos que siempre introduzca un valor numerico
System.out.println("El valor tiene que ser numerico..."); entrada.nextLine();
opcion=-1;
}
}
return opcion;
}
}
Comentarios sobre la versión: Versión 2 - verifica que la entrada sea numérica (10)
Hello Sr., thank you so much for this very good app, if you can please, take a look to printf instruction on this program,
See you on the web. Bye.
Espero sirva mi opinion, suerte y esta bien ....