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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  como manejar Esta excepción aqui... ? suma simple
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: como manejar Esta excepción aqui... ? suma simple  (Leído 4,590 veces)
rub'n


Desconectado Desconectado

Mensajes: 1.217


(e -> λ("live now")); tatuar -> λ("α");


Ver Perfil WWW
como manejar Esta excepción aqui... ? suma simple
« en: 28 Noviembre 2010, 19:23 pm »

Como manejo esta excepcion aqui ,,,   para controlar que el usuario no introduzca una letra

saludos!!!

Código
  1. import java.io.*;
  2. public class Suma {
  3.  
  4. public static void main(String[] args) throws Exception{
  5. int n=0,suma=0,k=1;
  6.  
  7. try{
  8. System.out.println("introduce numero, y -1 para Finalizar: ");
  9. n=Integer.parseInt(leer.readLine());
  10. }
  11. catch(Exception e){
  12. System.out.println("introduce un valor numerico por favor ");
  13. }
  14.  
  15. while(n != -1 ) {
  16.  
  17. suma+=n;
  18.  
  19. System.out.println("introduce valor, y -1 para Finalizar: ");
  20. try{
  21. n=Integer.parseInt(leer.readLine());
  22. }
  23. catch(Exception e){
  24. System.out.println("introduce un valor numerico por favor");
  25.  
  26. }
  27. }k++;
  28.  
  29. System.out.println("La suma es: "+suma);
  30.  
  31. }
  32.  
  33. }

introduce numero, y -1 para Finalizar
5
introduce valor, y -1 para Finalizar
a
introduce un valor numerico por favor
introduce valor, y -1 para Finalizar
-1
La suma es: 10


En línea



rubn0x52.com KNOWLEDGE  SHOULD BE FREE.
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen ki
Afsoon

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Re: como manejar Esta excepción aqui... ? suma simple
« Respuesta #1 en: 28 Noviembre 2010, 19:52 pm »

Es una idea descabellada hay mas simples pero es la primera que se me ha pasado por la cabeza xD no me apetece pensar mucho que la necesito para los examenes XD, pero esta forma es la chapuza ya que le falta dar toques pero hay tienes un ejemplo de saber si es una letra o no

Código
  1. int n=0,suma=0,k=1;
  2. String[] letras = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","ñ","o","p","q","r","s","t","u","v","w","x","y","z"};
  3.  
  4. System.out.println("introduce numero, y -1 para Finalizar: ");
  5. n=Integer.parseInt(leer.readLine());
  6. for(int a=0; a<=letras.lenght; a++)
  7. {
  8. if(n == letras[a]){
  9. System.out.println("Inserte un número no una letra");
  10. System.exit(0);
  11. }
  12.  
  13. }
  14.  

Te aconsejo no usar este metodo hay que darle muchos toques pero es un ejemplo es que no tengo mucho tiempo sino te haría uno en condiciones


En línea

rub'n


Desconectado Desconectado

Mensajes: 1.217


(e -> λ("live now")); tatuar -> λ("α");


Ver Perfil WWW
Re: como manejar Esta excepción aqui... ? suma simple
« Respuesta #2 en: 28 Noviembre 2010, 19:56 pm »

ummm se ve bien Afsoon ,,, :) gracias por la ayuda
En línea



rubn0x52.com KNOWLEDGE  SHOULD BE FREE.
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen ki
Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: como manejar Esta excepción aqui... ? suma simple
« Respuesta #3 en: 28 Noviembre 2010, 22:13 pm »

No estaras buscando algo asi sin usar try y catch

Código
  1. import java.util.Scanner;
  2. public class Suma {
  3. public static void main(String[] args) {
  4. int n=0,suma=0;
  5. Scanner scanner=new Scanner(System.in);
  6. do{
  7. suma+=n;
  8. System.out.println("introduce valor, y -1 para Finalizar: ");
  9. if(scanner.hasNextInt())n=scanner.nextInt();
  10. else{
  11. if(scanner.hasNext())scanner.next();
  12. System.out.println("introduce un valor numerico por favor\n");
  13. }
  14. }while(n!=-1);
  15. System.out.println("La suma es: "+suma);
  16. }
  17. }
« Última modificación: 28 Noviembre 2010, 22:15 pm por LEYER » En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: como manejar Esta excepción aqui... ? suma simple
« Respuesta #4 en: 28 Noviembre 2010, 22:34 pm »

Hasta con ExpReg se puede,
Código
  1.  public static void sValidateNumbers(String sString){
  2.    Pattern sPattern = Pattern.compile("^[0-9]*$");
  3.    Matcher sMatcher = sPattern.matcher(sString);
  4.  
  5.    if ( !sMatcher.find() ){ System.out.println("NO, son numeros.\n"); }
  6.    else{ System.out.println("SI, son numeros.\n"); }
  7.  }
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
rub'n


Desconectado Desconectado

Mensajes: 1.217


(e -> λ("live now")); tatuar -> λ("α");


Ver Perfil WWW
Re: como manejar Esta excepción aqui... ? suma simple
« Respuesta #5 en: 29 Noviembre 2010, 00:57 am »

Gracias por la ayuda lo intentare

SaluDDoS !!!
En línea



rubn0x52.com KNOWLEDGE  SHOULD BE FREE.
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen ki
1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: como manejar Esta excepción aqui... ? suma simple
« Respuesta #6 en: 29 Noviembre 2010, 07:32 am »

Hay por lo menos 10 maneras diferentes de hacerlo.

Código
  1.               do {
  2. System.out.println("introduce numero, y -1 para Finalizar: ");
  3. num = leer.readLine();
  4. }while(!isNumeric(num));
  5. n=Integer.parseInt(num);
  6.  

Métedo que usa el código de arriba.
Código
  1. private static boolean isNumeric(String string) {
  2. try {
  3. Integer.parseInt(string);
  4. return true;
  5. }
  6. catch(Exception e) {
  7. return false;
  8. }
  9. }
  10.  


Usando banderas
Código
  1. boolean status = false;
  2. do {
  3. try{
  4. System.out.println("introduce numero, y -1 para Finalizar: ");
  5. n=Integer.parseInt(leer.readLine());
  6. status=true;
  7. }
  8. catch(Exception e) {
  9. status=false;
  10. }
  11. }while(status==false);
  12.  


Usando otro método
Código
  1. do {
  2. System.out.println("introduce numero, y -1 para Finalizar: ");
  3. str = leer.readLine();
  4. }while(isLetter(str));
  5. n=Integer.parseInt(str);
  6.  

Método del código de arriba
Código
  1. private static boolean isLetter(String string) {
  2. if(string.matches("[a-zA-Z]"))
  3.     return true;
  4.     else
  5.     return false;
  6. }
  7.  


Sin usar método ni try catch
Código
  1. String str="";
  2. do {
  3. System.out.println("introduce numero, y -1 para Finalizar: ");
  4. str = leer.readLine();
  5. }while(str.matches("[a-zA-Z]"));
  6.  

Un saludo.
En línea

abc
rub'n


Desconectado Desconectado

Mensajes: 1.217


(e -> λ("live now")); tatuar -> λ("α");


Ver Perfil WWW
Re: como manejar Esta excepción aqui... ? suma simple
« Respuesta #7 en: 30 Noviembre 2010, 18:58 pm »

gracias men !! saluDDoS  gracias por la ayuda
En línea



rubn0x52.com KNOWLEDGE  SHOULD BE FREE.
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen ki
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Como pasar esta excepcion?
Ingeniería Inversa
ViCrack€r 2 2,227 Último mensaje 21 Agosto 2005, 04:53 am
por tena
que es esta excepcion extraña al cerrar un JDialog con Netbeans
Java
kinos 2 4,799 Último mensaje 31 Enero 2010, 18:21 pm
por kinos
descifrar algo simple como esta pass
Criptografía
rub'n 1 4,100 Último mensaje 31 Julio 2010, 22:22 pm
por Debci
Problema con Hola mundo y simple suma
Programación C/C++
avmiitxe 5 3,716 Último mensaje 13 Febrero 2012, 21:30 pm
por RyogiShiki
Suma simple da 0 (Problema de triángulos)
Programación C/C++
unpunto 2 1,988 Último mensaje 25 Mayo 2016, 01:50 am
por unpunto
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines