SoloCodigo

Programación General => Java => Mensaje iniciado por: Beso24 en Lunes 18 de Octubre de 2004, 17:35

Título: Que Hago Mal?
Publicado por: Beso24 en Lunes 18 de Octubre de 2004, 17:35
Deberia leer la linea que le proporcione el usuario devidirla en tokens o palabras y imprimirlo como pila, por separado funciona, pero a la hora de juntarlo no, por que? que hago mal? Gracias a todos los que se apiaden de mi ayudandome.

static String texto="";  
    public static void main(String[] args)
    {      
     BufferedReader inReader;
     System.out.println("Escribe el Texto:" );//pide el texto a verificar
     inReader= new BufferedReader(new InputStreamReader(System.in));//para poder leer al teclado    
     try{
        texto = inReader.readLine();
      }
     catch(IOException ex){
     }      
        Stack pila=new Stack();
   for(int i=0; i<texto.length; i++)
   pila.push(texto+" ");
   System.out.println("pila= "+pila); :unsure:
Título: Re: Que Hago Mal?
Publicado por: nicokiki en Lunes 18 de Octubre de 2004, 18:06
Hola!!!!!!!!!

Lo q haces mal es q pusheas en la pila cada caracter del String leido por System.in . Deberias separar las palabras y tokens

Salu2!!!!
Título: Re: Que Hago Mal?
Publicado por: Beso24 en Martes 19 de Octubre de 2004, 16:08
Creo que no me quedo claro, en realidad ese es mi problema pero como lo arreglo, como corrigo el error? podrias mostrarlo y decirme con que lo cambio? :(
Título: Re: Que Hago Mal?
Publicado por: fuhrer en Martes 19 de Octubre de 2004, 21:51
Debes de poner un if antes del push.

En tu if comparas el caracter que recibes con el token y si son distintos, pues netes el caracter.
Título: Re: Que Hago Mal?
Publicado por: antony_soluciones en Martes 26 de Octubre de 2004, 18:03
Espero y le sirva este codigo... suerte.
import java.io.*;
import java.util.StringTokenizer;
public class Ejemplo{
  static String texto="";
  public static void main(String[] args){
    BufferedReader inReader;
    System.out.println("Escribe el Texto:" );//pide el texto a verificar
    inReader= new BufferedReader(new InputStreamReader(System.in));//para poder leer al teclado
    try{
      texto = inReader.readLine();
    }catch(IOException ex){}
    StringTokenizer pila = new StringTokenizer(texto," ");
    for(int i=pila.countTokens()
    ; i>0; i--)
      System.out.println(i + " " + pila.countTokens() + " pila= " + pila.nextToken());
    try{
      texto = inReader.readLine();
    }catch(IOException ex){}
  }
}