Capturar una entrada desde el teclado (java)

Resuelto
varfendell Mensajes publicados 3259 Fecha de registro   Estado Miembro Última intervención   -  
 danimo -
La verdad pertenece a quienes la buscan y no a quienes prétenden la poseer.

11 respuestas

  1. Pacorabanix Mensajes publicados 4122 Fecha de registro   Estado Miembro Última intervención   663
     
    Hola,

    ¿Qué es lo que no “funciona”? ¿error de compilación o de ejecución? ¿Hace algo que no debería? ¿No hace algo que debería? Si es así, ¿qué? “Con 0.2 por ejemplo”: ¿significa que no funciona con 0.2, pero funciona con otra cosa? ¿si es así, con qué? si no, habría que aclararlo.

    Además, veo algo raro: System.out.println("pas de h :( ");

    Esto no mostrará el valor de h....
    0
  2. varfendell Mensajes publicados 3259 Fecha de registro   Estado Miembro Última intervención   707
     
    y bien el try no funciona, el programa compila, todo funciona salvo esa parte, h = s.nextDouble();

    entra directo en el catch y muestra no de h :( porque el try no funcionó.

    En serio, ¿cómo hacemos para registrar una entrada por teclado de tipo 0.x?

    --
    La verdad pertenece a quienes la buscan y no a quienes pretenden poseerla.
    (no olvides poner resuelto si ya encontraste tu felicidad: piensa en los demás^^)
    0
    1. Pacorabanix Mensajes publicados 4122 Fecha de registro   Estado Miembro Última intervención   663
       
      en el catch puedes mostrar la excepción, el mensaje podría ser instructivo.
      0
  3. varfendell Mensajes publicados 3259 Fecha de registro   Estado Miembro Última intervención   707
     
    No puedo lograrlo: no sé cómo hacerlo, no funciona IOException e
    --
    La verdad pertenece a quienes la buscan y no a quienes pretenden poseerla.
    (no olvides poner resuelto si has encontrado tu felicidad: piensa en los demás^^')
    0
  4. danimo
     
    Hola,

    Danos la parte del código correspondiente, será más fácil de corregir...

    Atentamente,

    Dan
    0
  5. varfendell Mensajes publicados 3259 Fecha de registro   Estado Miembro Última intervención   707
     
    He proporcionado solo la parte relevante para que compile:

     import java.io.IOException; import java.util.Scanner; class TestLissage { public static int n; public static double y0, x0, Yn, Xn, h; public static int choix; public static void main(String[] args) { while (choix != 6 && choix != 5 && choix != 4 && choix != 3 && choix != 2 && choix != 1 && choix != 7) { System.out.println("veuillez choisir l'application à résoudre:"); System.out.println(""); System.out.println("1: y'(x) = x + y(x) solution: y(x) = exp(x)-x-1 avec y(0) = 0"); System.out.println("2: y'(x) = -2xy(x) solution: y(x) = exp(-x²) avec y(0) = 1"); System.out.println("3: y'(x) = -xy²(x) solution: y(x) = 2/(1+x²) avec y(0) = 2"); System.out.println("4: y'(x) = y(x) solution: y(x) = exp(x) avec y(0) = 1"); System.out.println("5: y'(x) = "); System.out.println("6: y'(x) = "); System.out.println("7: quitter"); try { Scanner s = new Scanner(System.in); System.out.println("entrez votre choix"); choix = s.nextInt(); } catch(Exception e){} } if (choix == 1|| choix == 2 || choix == 3 || choix == 4 || choix == 5 || choix == 6) { try { Scanner s = new Scanner(System.in); System.out.println("entrez le nombre d'itération"); n = s.nextInt(); } catch(Exception e){} try { Scanner s = new Scanner(System.in); System.out.println("entrez le pas d'itération"); h = s.nextDouble(); } catch(Exception e){} System.out.println(choix); System.out.println(n); System.out.println(h); } } 

    --
    La vérité appartient à ceux qui la cherchent et non point à ceux qui prétendent la détenir.
    (n'oubliez pas de mettre résolu si vous avez trouvé votre bonheur: pensez aux autres^^)
    0
  6. danimo
     
    Hola,

    Para obtener la lista de StackTrace, añade esto en cada catch:

     catch(Exception e) { System.err.println("Exception :"); e.printStackTrace(); } 


    Dan
    0
  7. varfendell Mensajes publicados 3259 Fecha de registro   Estado Miembro Última intervención   707
     
    me aparece

    Excepción :
    java.util.InputMismatchException
    en java.util.Scanner.throwFor(Unknown Source)
    en java.util.Scanner.next(Unknown Source)
    en java.util.Scanner.nextDouble(Unknown Source)
    en TestLissage.main(TestLissage.java:44)

    por lo que corresponde a esta línea:

    h = s.nextDouble();
    --
    La verdad pertenece a aquellos que la buscan y no a aquellos que pretenden poseerla.
    (no olvides poner resuelto si has encontrado tu felicidad: piensa también en los demás^^)
    0
  8. varfendell Mensajes publicados 3259 Fecha de registro   Estado Miembro Última intervención   707
     
    eres demasiado fuerte :)

    funciona, muchas gracias
    --
    La verdad pertenece a quienes la buscan y no a quienes pretenden poseerla.
    (no olvides poner resuelto si has encontrado tu felicidad: piensa en los demás^^)
    0