解答は
- ホスト名: earth.mlab.im.dendai.ac.jp
- ディレクトリ: /home/submit/1I-Computer2/[出題日]/[学籍番号]
に提出しなさい。ソースファイル (〜.java) のみを提出。 提出は gFTP 等の ftp ソフトを用いて行う。
コマンドライン引数を2つとり、1つ目の引数で与えられた文字列が、 2つ目の文字列の中に何回出現するかを数えて表示するプログラムを作成しなさい。 ファイル名は ArgsCounter.java とする。
実行例は以下のようになる。
$ java ArgsCounter please "please please me" please please me の中に please は 2 回出現します。 $
String クラスの以下のメソッドを用いること。
コマンドライン引数から与えられた複数の文字列(任意の個数に対応できること) の中から、 辞書順で最も先頭に来るべき文字列を探し表示するプログラムを書きなさい。
$ java SearchFirstString golf tennis riding volleyball golf
コマンドライン引数から与えられた複数の文字列(任意の個数に対応できること) を、 辞書順に並び替えて表示するプログラムを書きなさい。
$ java SortString golf tennis riding volleyball golf riding tennis volleyball
以前の演習問題で、曲の番号を指定して演奏する JukeBox クラスを実装した。 この JukeBox に、曲の番号を指定するのではなく、 曲名の一部を指定することにより演奏するような検索機能を実装しなさい。 ファイル名は MusicSearcher.java とする。
まず、以前の Music クラスに、 指定された語が曲名に含まれるか調べるメソッド contains(String word) を実装しなさい。 それを JukeBox クラスで利用することにより、 指定した曲の演奏機能を実現しなさい。 JukeBox クラスにはメソッド play(String word) を実装しなさい。
$ java MusicSearcher La Now playing: Penny Lane by The Beatles Now playing: Arnold Layne by Pink Floyd $
曲名検索をする際に、複数の語を指定できるようにしなさい。 例えば、word1、word2 が指定された場合は、 その 2単語を曲名に含む曲だけが再生される (AND検索)。 配列を引数にとる play メソッドを実装するとよい。
$ java MusicSearcher La old Now playing: Arnold Layne by Pink Floyd $
class MusicSearcher { public static void main(String[] args) { JukeBox myJukeBox = new JukeBox(5); myJukeBox.setMusic(0, "Kiss", "Prince and The Revolution"); myJukeBox.setMusic(1, "Jump", "Van Halen"); myJukeBox.setMusic(2, "S.O.S. (Rescue Me)", "Rihanna"); myJukeBox.setMusic(3, "Penny Lane", "The Beatles"); myJukeBox.setMusic(4, "Arnold Layne", "Pink Floyd"); // args[0] を曲名に含んでいる曲を演奏 myJukeBox.play(args[0]); // args に格納されているすべての語を曲名に含んでいる曲だけを演奏 myJukeBox.play(args); } } class JukeBox { Music[] songs; JukeBox() { songs = new Music[10]; } JukeBox(int numberOfSong) { songs = new Music[numberOfSong]; } void setMusic(int no, String title, String artist) { songs[no] = new Music(title, artist); } void play(int no) { System.out.println("Now playing: " + songs[no].getName() + " by " + songs[no].getMusician()); } // メソッド play(String word) を追加 (問題3-1) // メソッド play(String[] words) を追加 (問題3-2) } class Music { String name; String musician; Music(String n, String m) { name = n; musician = m; } String getName() { return name; } String getMusician() { return musician; } // メソッド contains を追加 }