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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Problema con excepciones.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con excepciones.  (Leído 1,132 veces)
|Miguel|

Desconectado Desconectado

Mensajes: 217



Ver Perfil
Problema con excepciones.
« en: 5 Febrero 2012, 19:29 pm »

Hola, muy buenas a todos.
Tengo un problema... no sé porqué no me funciona este ejercicio... al compilar, llego hasta meter el número de elementos del array y ahí ya se queda sin hacer nada, ni da errores, ni sigue pidiendo datos (como debería) ni nada...

Os dejo el código a ver si veis algo. Estoy usando NetBeans 7.0.1
Código
  1. /*
  2.  * Haz un programa que sume los elementos double de un array dinámico que le
  3.  * vamos pasando. Saltarán las excepciones oportunas cuando le pasemos números
  4.  * en formato inadecuado.
  5.  */
  6. package ejercicio050;
  7. import java.util.Scanner;
  8.  
  9. public class Ejercicio050 {
  10.  
  11.    public static void main(String[] args) {
  12.        String longitud;
  13.        double suma=0;
  14.        Scanner s=new Scanner(System.in);
  15.        System.out.print("¿Cuántos elementos quieres? ");
  16.        try{
  17.            longitud=s.nextLine();
  18.        }
  19.        catch(Exception e){
  20.            do{
  21.                System.out.println("Longitud no válida. Introduzca otra.");
  22.                longitud=s.nextLine();
  23.            }while(!isNumeric(longitud));
  24.        }
  25.        String array[]=new String[Integer.parseInt(longitud)];
  26.  
  27.        for(int i=0; i<Integer.parseInt(longitud); i++){
  28.            System.out.print("Introduce el valor de la posición "+(i+1)+": ");
  29.            array[i]=s.nextLine();
  30.        }
  31.  
  32.        for(int i=0; i<Integer.parseInt(longitud); i++){
  33.            try{
  34.                suma+=Double.parseDouble(array[i]);
  35.            }
  36.            catch(Exception e){
  37.                System.out.println("El elemento "+(i+1)+" no es numérico.");
  38.            }
  39.        }
  40.        System.out.println("La suma de los elementos es: "+suma);
  41.    }
  42.  
  43.    private static boolean isNumeric(String cadena){
  44. try {
  45. Double.parseDouble(cadena);
  46. return true;
  47. } catch (NumberFormatException nfe){
  48. return false;
  49. }
  50. }
  51. }

Gracias a todos.

EDITO: He quitado el s.next(); de las líneas 17,22 y 29 y parece que va bien. lo puse porque a veces da problemas el retorno de carro al leer varias cadenas, voy a hacer unas pruebas a ver que pasa.

EDITO 2: perfecto. Un ejemplo de la ejecución...
run:
¿Cuántos elementos quieres? 5
Introduce el valor de la posición 1: 5
Introduce el valor de la posición 2: 6
Introduce el valor de la posición 3: p
Introduce el valor de la posición 4: 7
Introduce el valor de la posición 5: l
El elemento 3 no es numérico (p).
El elemento 5 no es numérico (l).
La suma de los elementos es: 18.0
BUILD SUCCESSFUL (total time: 23 seconds)


« Última modificación: 5 Febrero 2012, 19:41 pm por |Miguel| » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema capturando excepciones
Programación C/C++
naderST 3 1,447 Último mensaje 8 Marzo 2012, 18:38 pm
por darkvidhack
Problema con las excepciones
Programación C/C++
amchacon 3 1,268 Último mensaje 28 Enero 2013, 14:50 pm
por amchacon
Problema con excepciones en C++: Stackwalker.h
Programación C/C++
SARGE553413 3 1,316 Último mensaje 2 Marzo 2013, 17:03 pm
por naderST
Problema con Excepciones en C#
.NET (C#, VB.NET, ASP)
ORTUS 2 2,062 Último mensaje 13 Junio 2013, 16:43 pm
por ORTUS
MOVIDO: Problema con Excepciones en C#
Programación C/C++
Novlucker 0 658 Último mensaje 12 Junio 2013, 18:33 pm
por Novlucker
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines