Problemas con codigo de java

jesanlop
23 de Diciembre del 2008
Hola a todos

Agradeceria mucho que me pudieran ayudar con mi problema de java, se trata de lo siguente:

Problema con linea de texto con espacios
El problema radica con la instruccion
escaner.useDelimiter(System.getProperty("line.separator"));

Segun un libro que estoy leyendo(Programacion en Java") me dice que puedo utilzarla para cambiar el delimitador de linea en dado caso que la entrada de una cadena tenga mas de una palabra, por ejemplo:

import java.util.*;
import javax.swing.*;

class PruebaNombre{

public static void main(String args[]) {

//Declarar variables
String entrada, nombre;

Scanner escaner = new Scanner(System.in);
escaner.useDelimiter(System.getProperty("line.separator"));

System.out.print("Introduzca el nombre");
nombre = escaner.next();
System.out.println("El nombre del caballo es" + nombre);

}

}
El compilador no marca ningun error, solo ke cuando lo corro el programa no hace nada, ahora si yo kito esa linea y corro el programa si introduzco de nombre "Juan Perez" solo me toma la primera palabra, es decir "Juan"; No se si me puedan ayudar o me puedan decir alguna otra funcion para poder leer una cadena de texto con espacios
Este problema me pasa con distintos codigos y distintos compiladores(jcreator, net beans, tons no creo ke el problema radique ahi


Gracias por su atencion

miguel
23 de Diciembre del 2008
mmm...la razón por la cual tu lectura y escritura de caracteres no es adecuada es porque le estas pasando mal el la parte que marcas como .next();
<br>
checa esto:
---es tu codigo ya corregido----
import java.util.*;
//lo que sigue debes quitarlo, eso es para interfaz graf
import javax.swing.*;//esto es para JFC

class PruebaNombre{

public static void main(String args[]) {

//Declarar variables
String entrada, nombre;

Scanner palabra = new Scanner(System.in);
//para mi esto de useDelimiter... no tiene sentido
escaner.useDelimiter(System.getProperty("line.separator"));

System.out.println("Introduzca el nombre");
//si tu variable es String debes colocar nextLine();
//si es int debes colocar .nextInt();
//etc...
nombre = palabra.nextLine();
System.out.println("El nombre del caballo es " +" "+ nombre);

}

}

Asi debe funcionar adecuadamente sin importar que compilador uses, ni siquiera si se trata de un IDE...espero te sirva.

miguel
23 de Diciembre del 2008
IO de nuevo...retira las diagonales que estan en los println("") y no se encuentran dentro de las comillas " " que por alguna extraña razon aparecieron...

angklun
23 de Diciembre del 2008
hola!... necesito hacer un programa en java que simule el mercado bursatil internacional.... con sus mercados, bolsas, indices bursatiles, que se modifique solo con el tiempo y los parametros de los mercados, por ejemplo.. aumenta el petroleo a algunos mercados eso los mejora en inversionistas y a otros tambien los afecta el comportamiento de los demas mercados... alguien puede resolver esto por lo menos dando un ejemplo? aqui esta el link que explica mas detalladamene el programa
http://www.ciens.ucv.ve/algoritmosyprogramacion/documentos/Alg_Proyecto2.pdf

gracieladiter
23 de Diciembre del 2008
Hola, estoy probando tu código en eclipse 3.2 con el jre versión 1.6 y tu código me va perfectamente, me coge los espacios bien, lo escribe por consola tal y como lo coge por teclado.