|
Indice | Temas Recientes | Quién Está en LÃnea | Lista de Usuarios | Mi Perfil | Búsqueda | Ayuda |
![]() |
mvnForum » Listar todos los foros » Foro: Curso PLJ » Tema: sesion9 ejercicio1 3.c |
Total de mensajes en este tema: 4 |
[Eliminar este Tema]
[Mover este Tema] [AÅadir a Mis Favoritos] [AÅadir un aviso a este tema] [Publicar nuevo tema] |
Autor |
|
![]() Novato
|
A la pregunta sobre :¿Qué se habrÃa leÃdo en primer lugar si no hubiésemos identificado la primera lÃnea como comentario? Yo creo que recojeria el ; ya que segun lo que he leido y si no he entendido mal , recojeria el primer caracter solo y deberia comprobarse el valor recojido con ttype. ¿Voy bien o estoy algo perdido? No tengo muy claro si lee siempre caracter a caracter o si es tipo palabra lee hasta el siguiente espacio.La verdad que es una sesion interesante pero algo dificil de entender.al menos hasta el momento. ![]() |
||
|
![]() Miembro
|
Hola. Este tipo de preguntas no es sólo para que "supongáis" lo que va a pasar, sino para que lo probéis. Prueba a no poner que ese carácter es un comentario, y mira qué devuelve la primera llamada al tokenizer. Si después de eso no lo ves claro, dÃmelo y trataré de aclarártelo ![]() |
||
|
![]() Novato
|
Pues si que lo probe, y recogi en una variable de tipo String lo que devuelve sval... pero al sacarlo por pantalla, me salia null, asi que no lo entiendo , sin embargo recogi lo que se guarda en ttype y el numero que representa el tipo de caracter que es , si que era el 59 que es el ';' en ascii si no recuerdo mal , total que no se bien que respuesta deberia poner , si es que recoje null, no lo tengo muy claro porque lo hace.A ver si me lo puedes aclarar un poco todo esto , gracias. |
||
|
![]() Miembro
|
Efectivamente, lo que lee es el punto y coma. Cuando en un StreamTokenizer hacemos un st.nextToken: - Si es una palabra (compuesta por varios caracteres) la guarda en st.sval - Si es un número lo guarda en st.nval - Si es un carácter suelto, lo guarda en el entero que devuelve st.nextToken. - Si es un fin de lÃnea devuelve TT_EOL, y si es un fin de fichero, TT_EOF. En este caso, la primera palabra (separada por espacios) o número que hay en el fichero, si consideramos que nada es un comentario, es el ';'. Como es un sólo carácter, lo devuelve en el propio entero de "nextToken". A continuación leerÃa "Esto", "es", "un", "comentario", TT_EOL (salto de lÃnea), y luego los números. Podemos averiguarlo asÃ: //st.commentChar(';'); Comentamos esta linea int tok = st.nextToken(); System.out.println("'" + (char)(tok) + "'"); |
||
|
[Versión imprimible] [Publicar nuevo tema] |