Diferencia entre "1" y "n"

meli
08 de Mayo del 2004
mi duda es la suguiente: tengo 2 clases una se llama Var (que se refiere a variables como n, m etc letras) y otra que se llama Const(que recive numeros), ahora como diferencio si me llega un String "1" que es numero o constante(string) y lo mismo para "n".

CherLUX
08 de Mayo del 2004
Lo que se me ocuure es lo siguiente.

Suponiendo que la clase Const recive solo enteros (int) lo puedes hacer con el metodo Integer.parseInt. Te explico.

1 supongo qu recives una cadena
2 combiertes la cadena a entero mediante Integer.parseInt(); que genera la execpcion NumberFormatException
3 Si es un numero no genera la excepcion y lo puedes meter en constantes.
4 si se genera la Excepciones porque era una cadena o un caracter asi que lo guardas en variables

Aunque odio hacer esto aqui tienes codigo.

String dato = "variable";
int i;

try
{

i = Integer.parseInt( dato );
// Si va a la siguiente linea es porque no hubo excepcion i.e. es un numero asi que lo guardamos en constante

constante c.agrega(i)
System.out.println( "Es numero" + i );

}
catch( NumberFormatException e )
{

//No es numero asi que guardamos el dato
variable v.guardar(dato )
System.out.println( Es una varible. " + dato );

}

Que si funciona? CLARO si no me crees corre esta aplicacion para que te asegures que SIEMPRE te dice si es numero ocadena
public class prueba
{

public static void main( String[] Args )
{

String num = "124", cad = "ABC", NumCad = "ABC123";
String[] datos = { num, cad, NumCad };

int i = 0;

for( int j = 0; j < 3; j++ )
{

try
{

i = Integer.parseInt( datos[j] );
System.out.println( "Es numero" + i );

}
catch( NumberFormatException e )
{

System.out.println( "Es cadena." + datos[j] );

}

}

}
}

Si te sirvio, si no era lo que esperabas o nada mas para mentarmela escribeme. Hasta ahora nadie me ha contestado No se si porque lo que digo sin idioteces asi que me gustaria que fueras la primera.

Atte CherLUX
"Hasta la Victoria Siempre
Patria O Muerte
VENCEREMOS"



pep
08 de Mayo del 2004
Lo más normal es que no contesten ni para dar las gracias ni si tienen dudas.

Es un foro "unidireccional" o algo así

Saludos!