diff --git a/src/Metodos1.java b/src/Metodos1.java index 96b6cd2..730af99 100644 --- a/src/Metodos1.java +++ b/src/Metodos1.java @@ -1,10 +1,33 @@ +import java.util.*; + public class Metodos1{ public static void main(String[] args){ - System.out.println(potencias2(17)); + int numero=0; + System.out.println("Introduce un entero"); + numero = leerEntero(); + int resultado = potencias2(numero); + System.out.printf("El resultado es %d\n",resultado); } public static int potencias2(int n){ int result = 1; while(1 << result <= n) result++; return result; } + public static int leerEntero() { + Scanner sc = new Scanner(System.in); + boolean parar = false; + int n = 0; + while(!parar) { + try { + n = sc.nextInt(); + parar = true; + } catch(Exception e){ + System.out.println("Número invalido, intentalo otra vez"); + } finally { + sc.next(); + } + } + sc.close(); + return n; + } } \ No newline at end of file diff --git a/src/Metodos3.java b/src/Metodos3.java index d6bc6f9..3291731 100644 --- a/src/Metodos3.java +++ b/src/Metodos3.java @@ -7,7 +7,7 @@ public class Metodos3 { int num = 0; while(!detener){ System.out.println("Introduce un numero: "); - num = sc.nextInt(); + num = leerEntero(); if(num < 0) { System.out.println("Tiene que ser un numero positivo"); } else detener = true; @@ -20,4 +20,21 @@ public class Metodos3 { while(n > 0) result *= (double)n--; return result; } + public static int leerEntero() { + Scanner sc = new Scanner(System.in); + boolean parar = false; + int n = 0; + while(!parar) { + try { + n = sc.nextInt(); + parar = true; + } catch(Exception e){ + System.out.println("Número invalido, intentalo otra vez"); + } finally { + sc.next(); + } + } + sc.close(); + return n; + } }