[解決済み] JavaでEOFを検出する方法は?
2022-02-08 03:31:20
質問
私のコードでEOFを検出する方法をいくつか試しましたが、まだうまくいきません。 BufferedReaderやScannerを使ったり、EOFのフラグにchar u001aを使ってみたりしましたが、それでも私のコードには何の意味も成さないのです。 以下は私の最後のコードです。
Scanner n=new Scanner(System.in);
String input;
int counter=0;
while(n.hasNextLine())
{
input=n.nextLine();
char[] charInput=input.toCharArray();
for (int i = 0; i < input.length(); i++) {
if(charInput[i]=='"')
{
if(counter%2==0)
{
System.out.print("``");
}
else
{
System.out.print("''");
}
counter++;
}
else
{
System.out.print(charInput[i]);
}
}
System.out.print("\n");
}
EOFに達した時点でプログラムが停止するはずなのですが、なぜか走り続けてしまい、ランタイムエラーが発生してしまいます。 助けてください。 ところで、私はここで新しいです。私の質問が本当に理解されるために明確でない場合は申し訳ありません。 以前はありがとうございました :)
どのように解決するのですか?
EOFに遭遇していないため、実行され続けています。ストリームの終わりです。
-
read()
は-1を返します。 -
read(byte[])
は-1 を返します。 -
read(byte[], int, int)
は-1 を返します。 -
readLine()
は null を返します。 -
readXXX()
その他のXはEOFException
. -
Scanner.hasNextXXX()
は任意の X に対して false を返します。 -
Scanner.nextXXX()
投げるNoSuchElementException
は任意の X に対して
これらのいずれかに遭遇しない限り、あなたのプログラムはストリーム終了に遭遇していない。NB
\u001a
はCtrl/zです。EOFではありません。EOFは文字値ではありません。
関連
-
[解決済み】Javaで無限大を実装する方法とは?
-
[解決済み】破損したjarファイル
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] if / for / while 内で "Missing return statement" が発生する。
-
[解決済み】エラー。Selection does not contain a main type
-
[解決済み】不正なエスケープ文字"㊧"について
-
[解決済み】Java、"変数名 "を変数に解決することができない
-
[解決済み] 解決済み】Javaが「型をインスタンス化できない」というエラーを返す [重複] [重複]
-
[解決済み】Javaの部分文字列:「文字列のインデックスが範囲外」。
-
[解決済み】非閉鎖文字リテラルエラー
-
[解決済み】 JAVA 変数宣言はここではできない
-
[解決済み】「java -cp」と「java -jar」の違い?
-
[解決済み] StringBuilderをクリアまたは空にするにはどうすればよいですか?重複] [重複] [重複] [重複] [重複] [重複