指定のパッケージ内に作成してください

ソースコード(クラス名.java)をSドライブにアップロードして提出してください

S:\Java\課題提出\基礎\11章


問題1

三角形の大きさを表現するクラスを作成します。

以下の仕様でクラスを作成してください。

パッケージ chapter11.kadai1
クラス名 Triangle
フィールド
double teihen 底辺の長さ
double takasa 高さ
メソッド double getArea()
 フィールドの底辺、高さを元に、三角形の面積を計算してリターンする
 三角形の面積は、底辺×高さ÷2

上記 Triangle クラスを呼び出す TriangleMain クラスを作成し、mainメソッドに以下の処理を実装してください。

  1. Triangleクラスのインスタンスを作成する
  2. コンソールから、三角形の底辺の長さと高さを入力させる
  3. 三角形の面積を表示する

実行結果例(緑字はコンソールからの入力値)

底辺の長さ : 9

高さ : 7

面積 : 31.5

問題2

犬を表現するクラスを作成します。

以下の仕様のクラスを作成してください。

パッケージ chapter11.kadai2
クラス名 Dog
フィールド
String name 名前
int power 体力を示す。宣言時に初期値2を代入しておく。
メソッド void eat()
 powerが 1 増える。
 「○○だよ。」と自分の名前を表示させ、同じ行に
 powerが4以上の場合は「もういっぱい食べたよ」
 powerが2未満の場合は「もっと食べたい」
 それ以外の場合は「おいしかった」と表示する。

void speak()
 「○○だよ。」と自分の名前を表示させ、同じ行に
 powerが4以上の場合は「元気いっぱいだよ」
 powerが2未満の場合は「おなかペコペコで話せない」
 それ以外の場合は「ワンワン」と表示する。
 powerを 1 減らす。

上記 Dog クラスを呼び出す DogMain クラスを以下の通り作成し、仕様通りに動作するか検証しましょう。


class DogMain {
    public static void main(String[] args) {
        Dog pochi = new Dog();
        Dog siro  = new Dog();
        pochi.name = "ポチ";
        siro.name = "シロ";

        Scanner sc = new Scanner(System.in);

        int menu = 0;
        menu_loop : while(true) {
            System.out.println
            ("0: ポチにえさをあげる " +
             "1: ポチと話す " +
             "2: シロにえさをあげる " +
             "3: シロと話す " +
             "9: 終了");
            menu = sc.nextInt();

            switch(menu) {
            case 0:
                pochi.eat();
                break;
            case 1:
                pochi.speak();
                break;
            case 2:
                siro.eat();
                break;
            case 3:
                siro.speak();
                break;
            case 9:
                break menu_loop;
            }
        }
    }
}
			

実行結果例(緑字はコンソールからの入力値)

0: ポチにえさをあげる 1: ポチと話す 2: シロにえさをあげる 3: シロと話す 9: 終了

1

ポチだよ。ワンワン

0: ポチにえさをあげる 1: ポチと話す 2: シロにえさをあげる 3: シロと話す 9: 終了

1

ポチだよ。おなかペコペコで話せない

0: ポチにえさをあげる 1: ポチと話す 2: シロにえさをあげる 3: シロと話す 9: 終了

0

ポチだよ。もっと食べたい

0: ポチにえさをあげる 1: ポチと話す 2: シロにえさをあげる 3: シロと話す 9: 終了

0

ポチだよ。おいしかった

0: ポチにえさをあげる 1: ポチと話す 2: シロにえさをあげる 3: シロと話す 9: 終了

2

シロだよ。おいしかった

0: ポチにえさをあげる 1: ポチと話す 2: シロにえさをあげる 3: シロと話す 9: 終了

2

シロだよ。もういっぱい食べたよ

0: ポチにえさをあげる 1: ポチと話す 2: シロにえさをあげる 3: シロと話す 9: 終了

3

シロだよ。元気いっぱいだよ

0: ポチにえさをあげる 1: ポチと話す 2: シロにえさをあげる 3: シロと話す 9: 終了

3

シロだよ。ワンワン

0: ポチにえさをあげる 1: ポチと話す 2: シロにえさをあげる 3: シロと話す 9: 終了

9

問題3

銀行口座を表現するクラスを作成します。

以下の仕様のクラスを作成してください。

パッケージ chapter11.kadai3
クラス名 Kouza
フィールド
String meigi 口座名義
long zandaka 口座残高
メソッド boolean nyuukin(long kingaku)
 引数の金額を残高に加え、trueを返す。
 ただし、引数がマイナス値の場合は残高に加えず、falseを返す。

boolean syukkin(long kingaku)
 引数の金額を残高から引き、trueを返す。
 ただし、引数がマイナス値と、出金額が残高より大きい場合は残高から引かず、falseを返す。

上記 Kouza クラスを呼び出す KouzaMain クラスを作成し、mainメソッドの処理を実装してください。

mainメソッドでは口座を複数格納する配列を作成し、それぞれに名義をセットし、それぞれの口座への入出金をテストしてください。

指定された口座の番号(= 配列のインデックス)が不正な場合は、Javaのエラーメッセージがそのまま表示されてOKとします。


実行結果例(緑字はコンソールからの入力値)

本例では1つ目の口座(番号0)に名義「福沢諭吉」、2つ目の口座(番号1)に名義「渋沢栄一」をmain内で設定している

0: 入金処理 1: 出金処理 2: 残高照会 9: 終了

0

対象口座の番号を入力(0~1): 0

福沢諭吉様

金額を入力してください

10000

処理を受け付けました


0: 入金処理 1: 出金処理 2: 残高照会 9: 終了

0

対象口座の番号を入力(0~1): 1

渋沢栄一様

金額を入力してください

50000

処理を受け付けました


0: 入金処理 1: 出金処理 2: 残高照会 9: 終了

1

対象口座の番号を入力(0~1): 0

福沢諭吉様

金額を入力してください

50000

金額が不正です。処理できませんでした。


0: 入金処理 1: 出金処理 2: 残高照会 9: 終了

1

対象口座の番号を入力(0~1): 1

渋沢栄一様

金額を入力してください

50000

処理を受け付けました


0: 入金処理 1: 出金処理 2: 残高照会 9: 終了

2

対象口座の番号を入力(0~1): 0

福沢諭吉様の残高:10000円


0: 入金処理 1: 出金処理 2: 残高照会 9: 終了

2

対象口座の番号を入力(0~1): 1

渋沢栄一様の残高:0円


0: 入金処理 1: 出金処理 2: 残高照会 9: 終了

9

ヒント: