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

Separar caracteres

Estas en el tema de Separar caracteres en el foro de Java en Foros del Web. Hola a todos y perdonad por mi torpeza. Llevo todo el dia leyendo mensajes en el foro, buscando por internet y soy incapaz de hacer ...
  #1 (permalink)  
Antiguo 21/11/2005, 16:26
Avatar de Nizam  
Fecha de Ingreso: abril-2002
Ubicación: Madrid
Mensajes: 78
Antigüedad: 22 años, 1 mes
Puntos: 0
Separar caracteres

Hola a todos y perdonad por mi torpeza. Llevo todo el dia leyendo mensajes en el foro, buscando por internet y soy incapaz de hacer lo siguiente.

Tengo que leer el contenido de un archivo de texto plano y guardar los datos en una matriz.
Si en el archivo hay un # debo ignorar la linea, sino debo obtener los datos.
El archivo consta de * y numeros.
Los * significa ausencia de numeros.

El archivo puede venir de las siguientes maneras:

# Comentario
***3*4*3**2 Todo junto
* * * * 3 5 * 6 Con espacios
Un salto de linea.
*2 3 * 2 1 * * *
# Comentario.

Si leo el fichero caracter a caracter:
Debo detectar el final de linea (10 10 13 creo o 13 10 10)
Si aparece un # debo leer hasta el final de linea ignorando todo.
Me funciona pero hay otra manera mejor

Lo suyo es leer la linea de un tiron.
Así obteniendo el primer caracter de esa linea se si es # o no y si debo ignorarla.

Pues despues de toda la charla, resulta que soy incapaz de obtener de la linea leida del archivo los caracteres separados.

Vamos que mi problema está en separar caracteres.

Lo intento con substring.
FileReader fr = new FileReader("entrada.txt");
BufferedReader lector = new BufferedReader(fr);
texto=lector.readLine()
System.out.println(texto); // Aqui imprime el texto bien!!!!
cantidad=texto.length(); // Me sale cuantos caracteres tiene
for (int k=1;k<cantidad;k++){
System.out.print(texto.substring(k,k)) // Aqui he puesto de todo y el resultado es blanco.
}

Vamos que es una tonteria y no doy con ella.

A ver si alguien me puede orientar un poco.
  #2 (permalink)  
Antiguo 22/11/2005, 10:04
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
¿¿¡¡texto.substring(k,k)!!??

Del API:
----
public String substring(int beginIndex, int endIndex)

Returns a new string that is a substring of this string. The substring begins at the specified beginIndex and extends to the character at index endIndex - 1. Thus the length of the substring is endIndex-beginIndex.
----
  #3 (permalink)  
Antiguo 22/11/2005, 10:06
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Y otro detalle....

¿¿¡¡for (int k=1;k<cantidad;k++)!!??

El primer caracter es el 0, no el 1.
  #4 (permalink)  
Antiguo 22/11/2005, 11:02
Avatar de Nizam  
Fecha de Ingreso: abril-2002
Ubicación: Madrid
Mensajes: 78
Antigüedad: 22 años, 1 mes
Puntos: 0
Pues eso, que no se leer.

Vamos que todo el dia probando con texto.substring(k,k),texto.substring(3,3) etc... y no fui capaz de comprender que si le digo que empieze en 3 y acabe en 3 no coge nada.

Gracias por hacerme ver la luz. Aunque me cabrea molestar por no comprender lo que leo.

Mil gracias.
  #5 (permalink)  
Antiguo 23/11/2005, 03:37
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Ojalá todos los problemas fueran así de fáciles .

Bromas aparte, la primera fuente de información es el API, ya que por ejemplo el funcionamiento de los parametros en este método no es muy intuitivo, por decirlo finamente . Lo de leer inglés técnico... pues es a base de práctica, y si te falta base no es mala idea hacer algun curso por que hoy en día para trabajar en Internet es imprescindible.
Lo peor de todo es cerrarse, pero con buen ánimo se le va pillando el tranquillo. Yo casi siempre programo con un navegador con el API abierto en una pestaña, por que de memoria no me lo se .

Pues eso, un saludo
  #6 (permalink)  
Antiguo 23/11/2005, 05:31
Avatar de Nizam  
Fecha de Ingreso: abril-2002
Ubicación: Madrid
Mensajes: 78
Antigüedad: 22 años, 1 mes
Puntos: 0
Si lo peor de todo es que entiendo el ingles, (tanto el tecnico como el coloquial), tenia la misma definicion que me diste tu delante de los ojos, pero no fui capaz de comprender que significaba.

Vamos que me hubiera dado igual que lo hubieran puesto en un perfecto y claro castellano.

Creo que como bien dices, me cerre y no fui capaz de salir de esa situación.

Muchas gracias de nuevo.
  #7 (permalink)  
Antiguo 23/11/2005, 09:59
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Jejeje, bueno, eso a veces le pasa tambien al más pintado. Te puedes tirar dos horas mirando el mismo problema, , dale que te pego hasta que viene alguien por encima del hombro y zas, lo ve.

Cosas del cerebro humano...
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 04:35.