(ときa)は、ユーザーが新しい行でEnterキーを押すユーザー次第、タイピングを保持しますが、一方で、我々は、すべてのユーザーの入力を保存する必要があります))新しいテキストファイルbを作成し、そのテキストファイルcにユーザーの入力を入れて:私は、次の演習を行う必要があり空の文字列は、ユーザがプログラムから抜け出す必要があります)送信されます。この問題を符号化するために、私は以下のコードを記述しているが、私は、whileループで立ち往生していますので、私は自分でそれをしようとしたとき、私は空の文字列を送信するときに、出傾けます。だから、この問題の解決策とのだれでもヘルプがもらえますか?
感謝
私は、if文、whileループ内で行うか、ループの状態内部ユーザの入力を受け取り、コードを追加するように、私はユーチューブで見つけた解決策のいくつかを試してみました。だから私は、次の段階で何をするか分かりません。私は、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");
}
}
彼/彼女は空の文字列を送信するとき、ユーザーは、ループから抜け出す必要があります。そして、ファイルへの書き込みが終了しなければなりません。
まず、コード、説明...
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");
}
}
それは使用していますので、上記のコードは、少なくともJavaの7必要としてみてください-と資源。Scanner
同じように、閉鎖されるべきでPrintWriter
閉じる必要があります。try-と資源彼らが閉じている保証します。ファイルの場合は注意することをmytext.txtが存在しない、新しいを作成することPrintWriter
も、ファイルを作成し、ファイルが既に存在する場合、その内容は削除され、ユーザーが入力したテキストに置き換えられます。
プロンプトが表示されていることをした後、つまりはここにテキストを入力し、ユーザーは、テキストの行を入力します。この方法は、nextLine()
プレスが入力したユーザまで、入力されたすべてのテキストを取得します。私は再びあなたの質問を読んで、ユーザーがEnterキーを押すとプログラムが終了する必要があり、任意のテキストを入力せず。ユーザーがこれを行う場合は、str
空の文字列、すなわち、それはゼロの長さがあります。意味私は、値を割り当てる必要があるstr
前while
の方法ループ、従って最初の呼び出しnextLine()
の前にwhile
ループ。
内部while
ループ私は、ファイルにユーザーが入力した値の書き込みmytext.txtをして、ユーザーがテキストの別の行を入力するのを待ちます。ユーザーを押すが、任意のテキストを入力せずに入力した場合、str
ゼロの長さを持つことになりますし、while
ループが終了します。
書かれており、使用してWindows 10上のJDK 12を使用してテストしたEclipseを Javaの開発者は、バージョン2019から03のために。