Foros del Web » Programación para mayores de 30 ;) » Java »

Comprobar valores numericos.

Estas en el tema de Comprobar valores numericos. en el foro de Java en Foros del Web. Hola a todos. Hace tiempo que ando dandole al Java. Tengo mucha experiencia con C y C++, pero pues ahora el destino me llevo a ...
  #1 (permalink)  
Antiguo 10/10/2008, 13:17
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Comprobar valores numericos.

Hola a todos.
Hace tiempo que ando dandole al Java. Tengo mucha experiencia con C y C++, pero pues ahora el destino me llevo a dominar Java. Y pues necesito un poco de su ayuda.

Lo que estoy intentando hacer es un evaluador de expresiones. Tecnicamente ya lo hice con C y C++ para darme la idea de la estructura del programa.
EN java casi lo he terminado, excepto que tengo problema con los caracteres.

No he entendido muy bien como funciona la clase String y su relacion con los CharSequence y los char(como en C). Asi que me limite a usar chars para denotar un simple caracter y objetos string para cadenas.
Para obtener un solo caracter de una cadena uso object.charAt(x);
Sólo que ahora quiero comprobar si ese caracter es un valor numérico(1, 2, 3...).
En C lo hice usando la funcion estandar isdigit(char x);

En Java hay algo parecido? algun metodo estatico de alguna clase o algo?
O es necesario hacer mi propio metodo para poder comprobar si un char es numerico.

Espero que me puedan aclarar este tema medio confuso aun para mi.
Saludos
  #2 (permalink)  
Antiguo 10/10/2008, 14:32
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Comprobar valores numericos.

Saludos y bienvenido al mundo de Java .

Lo que buscas está en la clase Character, con un nombre muy parecido:
http://java.sun.com/j2se/1.5.0/docs/...l#isDigit(char)

Como es un metodo estático, basta llamarlo con Character.isDigit(miChar).

Los metodos disponibles por clases etc. lo puedes encontrar en Java en la documentacion conocida como javadoc. Es bastante útil.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #3 (permalink)  
Antiguo 11/10/2008, 19:45
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Respuesta: Comprobar valores numericos.

Muchisimas gracias por tu respuesta, me ayudo con muchas cosas.
Ahora surgio otra duda.

Por ejemplo, yo en C tengo un codigo como el siguiente:


char cadena[..];
cadena[0]=otracadena[x];

Es posible hacer algo parecido teniendo un objeto tipo Stirng?
String cadena;

cadena.?(otracadena.charAt(x));

O sera mejor trabar como en C con arreglos de char?.

Saludos
  #4 (permalink)  
Antiguo 12/10/2008, 10:27
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Comprobar valores numericos.

Hombre,

Si vas a trabajar bastante con cadenas, es mejor que no uses String, puesto que los objetos String en Java son inmutables: es decir, no se pueden modificar sino que las operaciones de modificacion en realidad crean un objeto nuevo. Como bien dices, puedes usar un array de char o puedes usar StringBuilder/StringBuffer, que son representaciones modificables de cadenas, con sus metodos setCharAt/append/insert...

Suponiendo que uses Java 5 o superior, normalmente es preferible usar StringBuilder en casi todos los casos, ya que StringBuffer es lo mismo pero sincronizado por si se accede al objeto desde varios Threads a la vez, cosa no muy habitual.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #5 (permalink)  
Antiguo 12/10/2008, 10:38
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Respuesta: Comprobar valores numericos.

Muchas gracias.
Ya con eso termino por fin el programa.
Te lo agradezco.
Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:58.