Menú a prueba de usuarios

[aux_code language=»javascript» theme=»tomorrow» title=»Menú a prueba de usuarios» extra_classes=»»]

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

    public static void main(String[] args) {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int o = 0;

        do {
            try {
                System.out.println("MENÚ\n" +
                        "----\n" +
                        "1. Cuadrado de un número entero\n" +
                        "2. Dividir un valor real entre un entero \n" +
                        "3. Saludar al usuario \n" +
                        "4. Salir\n" +
                        "\n" +
                        "Opción:\n");
                o = Integer.parseInt(br.readLine());
                switch (o) {
                    case 1:
                        int n;
                        do {
                            try {
                                System.out.println("Intro un numero entero y te calculo su cuadrado:");
                                n = Integer.parseInt(br.readLine());
                                if (n == 0) {
                                    System.out.println("No te puedo calcular el cuadrado de 0.");
                                } else {
                                    System.out.println("El cuadrado del número " + n + " es " + (n * n));
                                }
                            } catch (NumberFormatException ex) {
                                System.out.println("El dato insertado no es un número entero.");
                                n = 0;
                            }
                        } while (n == 0);
                        break;

                    case 2:
                        double x;
                        int y;
                        do {
                            try {
                                System.out.println("Intro un numero real y uno entero y te calculo su división:");
                                System.out.println("Intro un numero real:");
                                x = Double.parseDouble(br.readLine());
                                System.out.println("Intro un numero entero:");
                                y = Integer.parseInt(br.readLine());
                                if (y == 0) {
                                    System.out.println("No se puede dividir entre 0, ya que un nº dividido entre 0 es Infinito");
                                } else {
                                    System.out.println("El resultado de la división es " + (x / y));
                                }
                            } catch (NumberFormatException ex) {
                                System.out.println("No se ha podido interpretar el dato numérico.");
                                y = 0;
                            }
                        } while (y == 0);
                        break;

                    case 3:
                        System.out.println("¿Cómo te llamas?");
                        String nombre = br.readLine();
                        System.out.println("Hola " + nombre);
                        break;

                    case 4:
                        System.out.println("Adiós");
                        break;

                    default:
                        System.out.println("No existe la opción elegida.");
                        break;
                }

            } catch (IOException | NumberFormatException e) {
                System.out.println("Error al interpretar el dato introducido.");
            }
        }
        while (o != 4);
    }
}
[/aux_code]
Etiquetas: Sin etiquetas

Añadir un comentario

Debes estar conectado para publicar un comentario