Java - Ayudaaaa cn un salto de linea

   
Vista:

Ayudaaaa cn un salto de linea

Publicado por pedro romero curro (6 intervenciones) el 15/11/2008 10:35:19
Tenia un problemaa.
Tengo que ordenar desde un archivo de entrada palabras que vallan en las posiciones 1,20 y 40.
y que cada 3 palabras cambie de fila en le archivo de salida.Como lo puedo hacer?????
Necesito ayuda urgentemente.
Hasta ahora tengo hecho lo siguiente y no se si ando mu descaminado o no.
Que alguin lo mire por favor y gracias.

public static final java.util.Scanner input =
new java.util.Scanner(System.in);



public static void main(String[] args) {
int space=0;
String m= " ";
int x=1;
char luno=0;
String z="" ;
int numeleString=0;

while(input.hasNext()){
int i=0;
String uno=input.next();

while(i <uno.length()){

luno =uno. charAt (i) ;

z=z + luno ;i++;

space=20-uno.length();
while (x <= 20-uno.length()){
x++;
m= m + " ";
}}
z=z+m; m=" ";



numeleString++;

}




System.out.println(z);
}}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayudaaaa cn un salto de linea

Publicado por Gerardo Aquino (1 intervención) el 17/11/2008 22:43:23
Ok, vamos poco a poco, segun entiendo que tienes que leer un texto de un archivo, bueno pues hay una forma de leer un archivo linea por linea, o como tu lo mencionas fila por fila, la cosa es que ¿quieres imprimir solo 3 palabras por fila?

bueno si es asi te comento que hay una metodo de la clase String que se llama Split(), split si lo traduces es descomponer, y eso hace, descompone una cadena de texto por su indicador (token), de esa forma separará la cadena en cada token encontrado y te retornará un array con los valores obtenidos, por ejemplo:

String Cadena = "Este es el valor de tu cadena";
String[] CadenaSplit = Cadena.split(" ");

System.out.println(CadenaSplit);


imprimira mas o menos esto (no recuerdo como imprime los arrays)

{"Este", "es", "el", "valor", "de", "tu", "cadena"}

¿te das cuenta que no contemplo los espacios? Eso se debe a que el espacio fue tu indicador de separación, por ende te digo que los caracteres de separacion no se escriben

Para leer el texto de un documento yo uso este metodo:

 public static String ObtenDatos(String documento){
  String cadena = "";
  String retorno = "";
  try{
   BufferedReader bf = new BufferedReader(new FileReader(documento));
   sCadena = bf.readLine();
   while ((cadena = bf.readLine())!=null) {
    retorno += cadena;
   }

  }catch(FileNotFoundException fnfe){
   System.out.println ("no hay archivo");
  }catch(IOException ioe){
   System.out.println ("no se puede leer/escribir");
  }

  return retorno;
 }

eso te retorna en una cadena todo el documento, espero te funcione, yo con esto tendria para solucionar el problema que tienes. Lo demas es un poquito de coco para limitar a solo 3 palabras por renflon o fila, pero no es dificil.

Saludos, éxito en tus códigos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pongo mas claro el codigo

Publicado por Gerardo Aquino (62 intervenciones) el 17/11/2008 22:45:26
    public static String ObtenDatos(String documento){
        String cadena = "";
        String retorno = "";
        try{
            BufferedReader bf = new BufferedReader(new FileReader(documento));
            sCadena = bf.readLine();
            while ((cadena = bf.readLine())!=null) {
                retorno += cadena;
            }

        }catch(FileNotFoundException fnfe){
            System.out.println ("no hay archivo");
        }catch(IOException ioe){
            System.out.println ("no se puede leer/escribir");
        }

        return retorno;
    }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar