Escáner en java STDIN nextLine()

Nuestro profesor nos ha de hacer un laboratorio para analizar cadenas. Él se niega a dejarnos utilizar los archivos y dice que si él copiar y pegar un párrafo de cadenas tenemos que analizarlo. Mi problema es que no estoy seguro de cómo obtener los datos de ETS cuando copie y pegue (yo podría hacer esto con un archivo mucho más fácil).

public static void main(String[] args)
  {
    Scanner finput;
    String input;
    System.out.println("Enter Data: ");
    finput = new Scanner(System.in);

    input = finput.nextLine();
            System.out.println("OUTPUT")
    System.out.println(input);
    System.out.println(input.length());
    while(finput.hasNextLine())
    {
        input = finput.nextLine();
        System.out.println(input);
    }
  }

Esto es lo que tengo hasta el momento mi único problema es cuando puedo Copiar y pegar un párrafo en la consola (utilizando eclipse) no va a agarrar la última línea, a menos que llegué a entrar. Si yo escribo algo nuevo y pulse enter en la línea anterior se concatena con la nueva entrada, como el de abajo.

Enter Data:
FirstLine
SecondLineOUTPUT
FirstLine
junk
SecondLinejunk

Si la entrada era sólo una línea por línea yo no estaríamos teniendo este problema y tampoco estoy seguro de por qué, si puedo copiar pegar no me exigen que pulsar intro para el progreso….

  • ¿Has probado a copiar una nueva línea con su entrada? Si selecciona todo el párrafo y también a la siguiente (vacío) de la línea, que puede resolver su problema…
  • Estaba pensando en eso, pero parece tan poco convencional.
  • Es más de un eclipse copiar-pegar el problema de un desafío de programación, creo. Has probado?
  • Sí yo lo he probado en eclipse y Omega(donde mi profesor ejecuta).
InformationsquelleAutor Thao Nguyen | 2012-09-17

3 Kommentare

  1. 1

    No hay manera de hacer lo que estás pensando, como la secuencia de entrada no tiene manera de saber lo que es el «final» de la línea a menos que usted presione entrar.

    Considerar si se va a escribir en el texto:

    ABCD
    EFGH

    Pero lo que realmente significaba para la segunda línea de EFG, no EFGH. Cómo sería que hubiese una manera de determinar que? Copiar+pegar es exactamente como el hecho de escribir, sólo que mucho más rápido.

    Estoy adivinando su profesor será de apretar la tecla enter al final del párrafo para usted.

    • El problema es que si usted Copia+pega de no tener una oportunidad pulse enter. Creo que voy a volver a carácter por carácter :<.
  2. 0

    Usted sólo tiene que decirle a la consola que has terminado la entrada, mediante el envío de carácter EOF (CTRL+D en Unix/Linux, o CTRL+Z en Windows).

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea