elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  try catch, bucle
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: try catch, bucle  (Leído 11,633 veces)
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
try catch, bucle
« en: 13 Febrero 2010, 00:58 am »

Hola a todos.

Mi pregunta es cómo hacer un bucle mientras se ingresen datos de otro tipo, ejemplo:

Código
  1. import java.io.*;
  2. public class pedo
  3. {
  4.        public static void main(String[] args)
  5.        {  
  6.                InputStreamReader isr = new InputStreamReader(System.in);
  7.                BufferedReader br = new BufferedReader(isr);
  8.                int n_elementos;
  9.                while(?)
  10.                {
  11.                        try
  12.                        {
  13.                                n_elementos = Integer.parseInt(br.readLine());
  14.                        } catch(Exception e)
  15.                        {
  16.                                e.printStackTrace();
  17.                        }
  18.                }
  19.        }
  20. }

Repetir el bucle mientras se teclee algo ajeno a un entero, manejar las excepciones.


« Última modificación: 13 Febrero 2010, 01:04 am por Leo Gutiérrez. » En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: try catch, bucle
« Respuesta #1 en: 13 Febrero 2010, 01:13 am »

usando una variable de control, si no me equivoco ese parser tira la expcepcion de formato de numero erroneo entonces cuando se capture la excepcion haces un boleano falso
Código
  1. boolean seguir=true;
  2. while(seguir){
  3. //..
  4. try{
  5. //..
  6. }catch(Exception e){
  7. seguir = false;
  8. }
  9. }
  10.  
Algo asi.


En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: try catch, bucle
« Respuesta #2 en: 13 Febrero 2010, 01:35 am »

Creo que no me expliqué bien, va de nuevo:

Lo que quiero es pedir un número, y si hay un error, repetir el bucle.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: try catch, bucle
« Respuesta #3 en: 13 Febrero 2010, 02:03 am »

entonces me explique mal, entonces usaremos do while

Código
  1. boolean seguir = false;
  2. do{
  3. //...
  4. try{
  5. //...
  6. }catch(Exception e){
  7.   seguir = true;
  8. }
  9. }while(seguir);
  10.  
Explicación el DO-WHILE Hace-Repetir
EL do while realiza primero la accion dentro del bloque y si la condicion es verdadera(en este caso "seguir") se repite el bloque.
Saludos
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: try catch, bucle
« Respuesta #4 en: 13 Febrero 2010, 02:05 am »

Gracias, luego lo pruebo y te comento.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
43H4FH44H45H4CH49H56H45H
Wiki

Desconectado Desconectado

Mensajes: 502



Ver Perfil
Re: try catch, bucle
« Respuesta #5 en: 13 Febrero 2010, 06:45 am »

Algo asi podria ser:

Código
  1. import java.io.*;
  2. public class Main {
  3.  
  4.    public static void main(String[] args) {
  5.         //System.out.println(Integer.MAX_VALUE);
  6.        InputStreamReader isr = new InputStreamReader(System.in);
  7.        BufferedReader br = new BufferedReader(isr);
  8.        try
  9.                {
  10.                    String linea = "";
  11.                    int n_elementos;
  12.                    do
  13.                    {
  14.                        linea = br.readLine();
  15.                        n_elementos = Integer.parseInt(linea);
  16.                         System.out.println("Numero: " + n_elementos + "\n");
  17.                    }while(IsNum(linea));
  18.  
  19.                }
  20.                catch(Exception e)
  21.                {
  22.                    System.out.println("error: " + e.getMessage());
  23.                    System.out.println("No es numero o esta fuera del limite");
  24.                }
  25.    }
  26.    private static boolean IsNum(String cadena)
  27.    {
  28.        for(int i=0;i<cadena.length();i++)
  29.            {
  30.               int ascii =(int)cadena.charAt(i);
  31.               if(ascii <48 ||ascii > 57 ) return false;
  32.            }
  33.        return true;
  34.    }
  35. }
En línea


-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
try catch en c++ (dev c++)
Programación C/C++
JulCesa 3 5,159 Último mensaje 27 Noviembre 2011, 19:21 pm
por naderST
Pregunta con Try y catch?
Java
Slider324 3 2,383 Último mensaje 23 Diciembre 2012, 02:07 am
por Slider324
problema implementacion try... catch
Java
andrex.125 3 2,388 Último mensaje 25 Septiembre 2013, 17:21 pm
por 1mpuls0
Uso de try-catch en Java
Java
++c 4 3,894 Último mensaje 10 Octubre 2014, 16:05 pm
por Pablo Videla
No me toma el bloque try catch
Java
Finishim 3 2,386 Último mensaje 29 Agosto 2016, 06:55 am
por bengy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines