El usuario debe salir del bucle while cuando él / ella pulsar ENTER en una nueva línea. pero no funciona y se mantiene a ir a nuevas líneas

Habiballah Hezarehee:

Necesito hacer el siguiente ejercicio: a) Hacer un nuevo archivo de texto b) Poner la entrada del usuario en ese archivo de texto c) hay que salvar a la entrada de todos los usuarios, mientras que el usuario mantiene la tipificación pero tan pronto como el usuario al pulsar Intro en una nueva línea (Cuando una cadena vacía se envía) el usuario debe salir del programa. Para codificar este problema que tengo escriba los siguientes códigos, pero cuando intento por mí mismo, así que estoy atascado en el bucle while, no puedo salir cuando el envío de cadena vacía. Así podría ayudar a cualquier persona con una solución para este problema?

Gracias

He probado algunas de las soluciones que he encontrado en youtube como hacer sentencia if dentro del bucle while o añadir el código que toma la entrada del usuario dentro de la condición del bucle. Así que no sé qué hacer en la próxima etapa. Traté de ver la ventana de la consola a través de la salida de Eclipse.


import java.io.*;
import java.util.Scanner;
public class lesson {
    public static void main(String[] args) throws IOException {

        File file = new File("mytext.txt");

        if (file.exists() == false) {
            file.createNewFile();
        }
        PrintWriter pw = new PrintWriter(file);
        System.out.println("Enter a text here: ");
        String str;
         while (true) {
             Scanner input = new Scanner(System.in);
            str = input.next();
            pw.println();
            if (str.equals(null)) {
                break;
            }
        } 
        pw.close();
        System.out.println("Done");
    } 
}

El usuario debe salir del bucle cuando él / ella envía una cadena vacía. y la escritura en el fichero debe ser terminado.

Abra:

En primer lugar el código, entonces la explicación ...

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;

public class Lesson {
    public static void main(String[] args) {
        File file = new File("mytext.txt");
        try (Scanner input = new Scanner(System.in);
             PrintWriter pw = new PrintWriter(file)) {
            System.out.println("Enter a text here: ");
            String str = input.nextLine();
            while (str.length() > 0) {
                pw.println(str);
                pw.flush();
                str = input.nextLine();
            }
        }
        catch (IOException xIo) {
            xIo.printStackTrace();
        }
        System.out.println("Done");
    }
}

El código anterior requiere al menos Java 7, ya que utiliza try-con-recursos . Scannerdebe ser cerrado, al igual que PrintWriterdebe ser cerrado. Los try-con-recursos asegura que están cerrados. Tenga en cuenta que si el archivo MyText.txt no existe, la creación de un nuevo PrintWritertambién crear el archivo y si el archivo ya existe, su contenido será eliminado y reemplazado con el texto introducido.

Después de que aparezca el indicador, es decir, introducir un texto aquí , y el usuario entra en una línea de texto. Método nextLine()obtendrá todo el texto introducido hasta que el usuario pulsa Enter. He leído tu pregunta de nuevo y el programa debería salir cuando el usuario pulsa Intro sin escribir cualquier texto . Cuando el usuario hace esto, stres una cadena vacía, es decir, tiene longitud cero. Eso significa que tengo que asignar un valor a strantes del whilebucle, por lo tanto, la primera llamada al método nextLine()antes de que el whilebucle.

En el interior del whilebucle escribo el valor introducido por el usuario en el archivo MyText.txt y luego esperar a que el usuario introduzca otra línea de texto. Si el usuario pulsa Intro sin escribir cualquier texto, strtendrá una longitud cero y el whilebucle se cerrará.

Por escrito y probado usando JDK 12 en Windows 10 usando Eclipse para desarrolladores de Java, versión 2019-03.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=210647&siteId=1
Recomendado
Clasificación