MCD

[aux_code language=»javascript» theme=»tomorrow» title=»MCD» 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));

        String e = " ";

        do {
            try {
                System.out.println("Calcular MCD, FIN para cerrar\nIntro primer número:");
                e = br.readLine();
                if (e.equalsIgnoreCase("fin")) {
                    System.out.println("Me despido...");
                } else {
                    int x = Integer.parseInt(e);
                    // lo he separado para que no se tenga que introducir el segundo número cuando no cumple el primero
                    if (x > 0) {
                        System.out.println("Intro segundo número:");
                        int y = Integer.parseInt(br.readLine());
                        if (y > 0) {
                            if (x > y) {
                                System.out.println("El MCD es " + mcd(x, y));
                            } else {
                                System.out.println("El primer número debe ser mayor que el segundo.");
                            }
                        } else {
                            System.out.println("El valor ha de ser mayor que 0.");
                        }
                    } else {
                        System.out.println("El valor ha de ser mayor que 0.");
                    }
                }
            } catch (IOException | NumberFormatException ex) {
                System.out.println("Sólo valores numéricos");
            }
        } while (!e.equalsIgnoreCase("fin"));
    }

    private static int mcd(int n1, int n2) {
        int resto;
        int nd1 = n1;
        int nd2 = n2;

        do {
            resto = nd1 % nd2;
            nd1 = nd2;
            if (resto != 0)
                nd2 = resto;
        } while (resto != 0);
        return nd2;
    }
}
[/aux_code]
Etiquetas: Sin etiquetas

Añadir un comentario

Debes estar conectado para publicar un comentario