elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 01:49  


Tema destacado: ¡Aprende hacking con práctica! - WarZone, el wargame de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  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 1,173 veces)
RuB'n.

Desconectado Desconectado

Mensajes: 254


आर यू बी ई पता


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

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

saludos!!!

Código
import java.io.*;
public class Suma {
 
public static void main(String[] args) throws Exception{
  BufferedReader leer = new BufferedReader(new InputStreamReader(System.in));
int n=0,suma=0,k=1;
 
try{
System.out.println("introduce numero, y -1 para Finalizar: ");
n=Integer.parseInt(leer.readLine());
}
catch(Exception e){
System.out.println("introduce un valor numerico por favor ");
}
 
while(n != -1 ) {
 
suma+=n;
 
System.out.println("introduce valor, y -1 para Finalizar: ");
try{
n=Integer.parseInt(leer.readLine());
}
catch(Exception e){
System.out.println("introduce un valor numerico por favor");
 
}
}k++;
 
System.out.println("La suma es: "+suma);
 
}
 
}

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

 
se los presento no es mio ^^.
Afsoon

Desconectado Desconectado

Mensajes: 130


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

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
int n=0,suma=0,k=1;
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"};
 
System.out.println("introduce numero, y -1 para Finalizar: ");
n=Integer.parseInt(leer.readLine());
for(int a=0; a<=letras.lenght; a++)
{
if(n == letras[a]){
System.out.println("Inserte un número no una letra");
System.exit(0);
}
 
}
 

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: 254


आर यू बी ई पता


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

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

 
se los presento no es mio ^^.
Leyer
Moderador
***
Desconectado Desconectado

Mensajes: 772


[]


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

No estaras buscando algo asi sin usar try y catch

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

Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


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

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

---
RuB'n.

Desconectado Desconectado

Mensajes: 254


आर यू बी ई पता


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

Gracias por la ayuda lo intentare

SaluDDoS !!!
En línea

 
se los presento no es mio ^^.
Darhius


Desconectado Desconectado

Mensajes: 427


Divide y vencerás.


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

Hay por lo menos 10 maneras diferentes de hacerlo.

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

Métedo que usa el código de arriba.
Código
private static boolean isNumeric(String string) {
try {
Integer.parseInt(string);
return true;
}
catch(Exception e) {
return false;
}
}
 


Usando banderas
Código
boolean status = false;
do {
try{
System.out.println("introduce numero, y -1 para Finalizar: ");
n=Integer.parseInt(leer.readLine());
status=true;
}
catch(Exception e) {
status=false;
}
}while(status==false);
 


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

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


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

Un saludo.
En línea

"Cuenta mi historia... a quienes pregunten, cuéntala con verdad, las cosas malas junto con las buenas  y permite que sea juzgado apegado ellas... el resto... es silencio." Dinobot (Beast Wars Transformers)
RuB'n.

Desconectado Desconectado

Mensajes: 254


आर यू बी ई पता


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

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

 
se los presento no es mio ^^.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Hola una duda de como manejar esta pagina...
Dudas Generales
GorgoDj 3 565 Último mensaje 18 Julio 2005, 17:10
por Murderer_Fresh
¿Como pasar esta excepcion?
Ingeniería Inversa
ViCrack€r 2 487 Último mensaje 21 Agosto 2005, 04:53
por tena
que es esta excepcion extraña al cerrar un JDialog con Netbeans
Java
kinos 2 2,561 Último mensaje 31 Enero 2010, 18:21
por kinos
descifrar algo simple como esta pass
Criptografía
RuB'n. 1 1,438 Último mensaje 31 Julio 2010, 22:22
por Debci
Problema con Hola mundo y simple suma
Programación C/C++
avmiitxe 5 262 Último mensaje 13 Febrero 2012, 21:30
por RyogiShiki
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines