曲の配列から曲を検索するメソッドを含むプログラムを書いています。以下は、私に問題を引き起こしているこの特定のセクションのコードです。kybd
はすでに開始されています。以下は、クラスのメソッドを使用したセクションのコードですsearchSong()
。
System.out.println("To search for a song, enter the following:");
System.out.print("Title: ");
searchT = kybd.nextLine();
System.out.print("Author: ");
searchAu = kybd.nextLine();
System.out.print("Interpreter: ");
searchI = kybd.nextLine();
System.out.print("Album: ");
searchAl = kybd.nextLine();
System.out.println("Found this:"+'\n'+lib.searchSong(searchT, searchAl, searchAu, searchI));
プログラムを実行すると、「タイトル」が表示されますが、検索語を入力できず、「作成者」に直接スキップされます。以下は私が得る出力です。
曲を検索するには、次のように入力します。
タイトル: 作成者:検索
通訳者: 検索
アルバム: 検索
なぜこれが起こっているのか、そしておそらくそれを修正する方法を誰かが私に説明できますか? コードを確認して再確認しましたが、わかりません。
解決しました!nextInt()
以前、プログラムで別の方法を使用していました。@Rohit Jainが提案した質問でアドバイスを受け、nextLine()
このコードセクションの前に空白を使用しましたが、今では機能します。ありがとう!