トップ 新規 編集 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

プログラミング言語戯能課題

 最終課題

  • 各課題で作成するクラス群はパッケージ名がkadaiであるパッケージに含めること。
  • ファイル名はKadai99_<二桁の課題番号>.java[1]とする。例えば1番目の問題ではKadai99_01.javaとなる。
  • 以下から最低限3問以上の課題についてプログラムを作成し、提出すること。
  • 締め切りは2017年7月末日24時。それまでに、課題のプログラムを作成し、サーバにコミットしておくこと。

課題

  1. Javaのプログラム
    • どんな内容でもよいでもよいので、mainメソッドを持ち、Javaプログラムとして動作していることがわかるようにする(コンソールあるいはウィンドウアプリケーションとして何か画面に出力をする)。
  2. BMI値の計算
    • 身長と体重を保存する変数を定義し、自分の身長と体重を代入し(プライバシーの問題があるので嘘の値でかまわない)、そこからBMI値[2]を計算し、"私の身長は○○cm、体重は○○kg、BMI値は○○です。"(○は実際の値)と表示するプログラムを作成しなさい。
    • [さらにできる人は]ウィンドウアプリケーションでテキストフィールドに入力した数字に基づいて計算を行うプログラムを作成しなさい。
  3. 文字列の操作
    • コマンドラインオプション(mainメソッドの引数)、あるいは標準入力から入力した、あるいは変数に代入した文字列を逆順に並び替え出力するプログラムを作成しなさい。
    • 例)ドラえもん ⇒ んもえラド
    • [さらにできる人は]ウィンドウアプリケーションでテキストフィールドに入力した文字列をボタンを押すと逆順にするプログラムを作成しなさい。
    • [ヒント]
      1. mainメソッドを持つ、適当なクラスを定義する
      2. コマンドラインオプションを用いる場合にはargs[0]のString型の変数に入る
      3. ループを用いてargs[0]に入っている文字列に最後から最初に向かって、一文字ずつアクセスし(args[0].charAt())、それを表示する(System.out.print)
  4. 階乗の計算
    • コマンドラインオプション(mainメソッドの引数)、あるいは標準入力から入力した、あるいは変数に代入した数字nの階乗[3]を求め、計算結果を表示するプログラムを作成しなさい。
    • [ヒント]
      1. mainメソッドを持つ、適当なクラスを定義する
      2. コマンドラインオプションを用いる場合にはargs[0]のString型の変数に入るため、そのString型をInteger.parseInt()を用いてint型に変換し、適当な変数に一時的に入れておく
      3. ループを用いて1から変数に入れた値までを繰り返し、乗算を行い、結果を表示する
    • [さらにできる人は]ウィンドウアプリケーションでテキストフィールドに入力した数字に基づいて計算を行うプログラムを作成しなさい。
  5. 配列の計算
    • 変数あるいはプログラムの引数として13個の整数が与えられたときにその最大値、最小値、合計値を表示にするとともに、整数を大きい順、小さい順に表示するプログラムを作成しなさい。
    • [ヒント]
      1. mainメソッドを持つ、適当なクラスを定義する
      2. 13個の整数型の配列を定義し、標準入力からのオプションをその変数に整数値として代入する
      3. 最大値、最小値、合計値を代入する変数を定義し、最大値、最小値は配列の最初の変数で、合計値は0で初期化しておく
      4. 配列の各変数にアクセスするためのループを作成する
      5. ループでその変数が最大値よりも大きな場合には最大値に代入する(最小値と合計値は考えること)
      6. 最大値、最小値、合計値を表示する
      7. 多重ループを用いて自前で並び替えを行うか、util.Arraysを調べて配列の並び替えを行う。
      8. 大きい順に並び替えたならば、まずループでそのまま表示し、次にループを逆順にして(あるいは並び替えをしなおし)小さい順に表示する
    • [さらにできる人は]最大値、最小値、合計値に加え、平均値(小数点以下も)も表示するように修正する
  6. クラスの定義
    • 選手(Player)クラスを作成し、それを継承した野球選手(BaseballPlayer)クラスとサッカー選手(SoccerPlayer)クラスを定義しなさい。選手(Player)クラスには、"競技しています"と表示する競技する(play)メソッドを定義し、それらを継承したクラスではそれぞれの競技に応じた内容が表示されるようにすること。また、それらのクラスをインスタンス化して、playするmainメソッドを持つクラスを定義しなさい。
    • この課題については、"kadai.kadai06"パッケージを作成し、この下にファイルを入れること。
  7. ウィンドウアプリケーション
    • テキストフィールドとテキストエリアがあるウィンドウを作成し、テキストフィールドに何らかの文字列を入力しEnterを押すとテキストエリアに追加されていくプログラムを作成しなさい。
    • [さらにできる人は]入力された文字列を逆順にして追加する方式を選択できるように修正する。
  8. ウィンドウアプリケーションの応用
    • 「Javaの応用」として紹介されたサンプルプログラムについて機能を追加するなどの自分なりの改造を加えたプログラムを作成しなさい。なお、追加・修正した機能や改造した部分についてはコメントを付与し、わかるようにしておくこと。
  9. 簡単なお絵描きプログラム
    • マウスのボタンを押している間はドットが打たれていくようにして簡単な絵を書くことが可能なプログラムを作成しなさい。
  10. 少しは遊べる○×ゲーム
    • Javaの応用:○×ゲームのサンプルを改造するか、自分でプログラミングをして○×ゲームを作りなさい。そのさい、サンプルは人がいつでも先攻であるが、先攻後攻が選べるようにすること。
    • [さらにできる人は]コンピュータがランダムな手を打つのではなく、少しは勝てそうな手を打つようにしなさい。
  11. テキストエディタ
    • Javaの応用:簡易テキストエディタのサンプルを改造するか、自分なりに一から書いてテキストエディタを作成しなさい。そのさい、基本的な機能以外に「編集」メニューを作成し、「カット」「コピー」「貼り付け」をメニューから実行できるようにすること。
  • [1]eclipse上では.javaは入れなくても追加されるので注意すること
  • [2]BMI値の出し方は体重/(身長*身長)。身長はcmではなくm(メートル)なのに注意し、int型ではなくdouble型とするか、あるいは最後にmへの変換を行うこと
  • [3]1からnまでの自然数の総乗。3の階乗は3☓2☓1=6である

最終更新時間:2017年07月20日 09時20分26秒