[解決済み] Java using scanner Enterキーが押された
質問内容
私はJavaを使ってプログラミングをしています。
において、ユーザーがエンターキーを押したかどうかを認識するコードを書こうとしています。
コンソールベースのプログラム。
javaを使用してこれを行うにはどうしたらよいでしょうか。私は、これはスキャナまたは、バッファード入力リーダーのいずれかを使用して行うことができると言われています。私はバッファードインプットリーダーを理解していません(または、どのように使用するのか知りません)。
スキャナを使用してこれを実行しようとしましたが、エンターキーを2回押した後にプログラムが終了してしまい、うまくいきません。
Scanner readinput = new Scanner(System.in);
String enterkey = "Hola";
System.out.print(enterkey);
enterkey = readinput.nextLine();
System.out.print(enterkey);
if(enterkey == ""){
System.out.println("It works!");
ありがとうございます。
-- 編集 --
を使用すると、次のコードが動作します。
equals
メソッドではなく、文字列の
==
Scanner readinput = new Scanner(System.in);
String enterkey = "Hola";
System.out.print(enterkey);
enterkey = readinput.nextLine();
System.out.print(enterkey);
if(enterkey.equals("")){
System.out.println("It works!");
また、バッファード・インプット・リーダーの利点は何でしょうか?
どのように解決するのですか?
java.util.Scannerを使用して動作し、複数の"enter"キーストロークの入力が必要です。
Scanner scanner = new Scanner(System.in);
String readString = scanner.nextLine();
while(readString!=null) {
System.out.println(readString);
if (readString.isEmpty()) {
System.out.println("Read Enter Key.");
}
if (scanner.hasNextLine()) {
readString = scanner.nextLine();
} else {
readString = null;
}
}
分解してみると
Scanner scanner = new Scanner(System.in);
String readString = scanner.nextLine();
これらの行は、新しい
Scanner
から読み込んでいます。
標準入力ストリーム
(キーボード)から1行だけ読み取ります。
while(readString!=null) {
System.out.println(readString);
スキャナがまだ非NULLデータを返している間、各行を画面に印刷します。
if (readString.isEmpty()) {
System.out.println("Read Enter Key.");
}
入力から "enter"(または return など)キーが与えられた場合、そのキーは
nextLine()
メソッドは空の文字列を返します。文字列が空かどうかを確認することで、そのキーが押されたかどうかを判断することができるのです。 ここでは、テキスト
エンターキーを読み取る
が出力されますが、ここでは好きな動作をさせることができます。
if (scanner.hasNextLine()) {
readString = scanner.nextLine();
} else {
readString = null;
}
最後に、内容を表示したり、"enter" キーが押されたときに何かをした後、スキャナが別の行を持っているかどうかをチェックします。標準入力ストリームに対して、このメソッドは、ストリームが閉じられるか、プログラムの実行が終了するか、さらなる入力が提供されるまで "block" されます。
関連
-
[解決済み】Javaを包含するクラスではないのか?
-
[解決済み】どういう意味か。Serializableクラスがstatic final serialVersionUIDフィールドを宣言していないとは?重複している] [重複している] [重複している] [重複している
-
[解決済み】スキャナはnext()またはnextFoo()を使用した後、nextLine()をスキップしていますか?)
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] hibernateでResultSetを抽出できない。
-
[解決済み】Android Studioでタスク :app:compileDebugJavaWithJavac の実行に失敗しました。
-
[解決済み】Eclipseで「公開型 <<classname>> は独自のファイルで定義する必要があります」エラー【重複あり
-
[解決済み】破損したjarファイル
-
[解決済み】Javaのswitch文。定数式が必要だが、定数である
-
[解決済み] Hide Utility Class Constructor : ユーティリティクラスはパブリックまたはデフォルトコンストラクタを持つべきではありません。
-
[解決済み] JavaでSSLピアが正しくシャットダウンされない
-
[解決済み] エラー - trustAnchors パラメータは空であってはなりません。
-
[解決済み】Java: GZIPInputStreamの作成に失敗しました。GZIP形式ではありません
-
[解決済み】フォルダに書き込もうとすると「java.nio.file.AccessDeniedException」が発生する件