私は、ユーザーからの入力として長いStringを必要とするJavaプログラムを作成しています。これらの文字列のほとんどは、インターネットからコピーして貼り付けたニュース記事です。私が抱えている問題は、ユーザーがテキストを入力すると、Scannerが処理に問題があるキャリッジリターンが含まれていることです。 ScannerクラスのnextLine()メソッドを使用していますが、問題は、キャリッジリターンが行末をマークし、スキャナからの読み取りを終了することです。私も次のコードを試してみましたが、無限ループが発生します。 UserInput2はスキャナです。スキャナーで文字列の一部としてキャリッジリターンを読み取る方法は?
while(userInput2.hasNextLine())
toBeProcessed = toBeProcessed + userInput2.nextLine();
キャリッジリターンをどのようにスキップできますか?たぶん、スキャナでそれらを '+'などに変換してもらうと、このような問題はありません。
無限ループとはどういう意味ですか?あなたはコマンドラインから入力していて、それは止まらないと言っていますか? –
まあまあではありません。 whileループを使用すると、スキャナは入力テキストの終わりを認識しません。 – Kurtis
入力の終わりを2回入力することができます。これは同じ問題が発生したときに役立ちました。 –