- - PR -
javaの問題
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-09-06 05:36
こんにちは。
javaの勉強をしているのですが、問題が解けません。 皆さんの力をお貸しいただけないでしょうか。 問題内容です。 以下のクラス図で示したRectangleクラスを作成し、実行結果と同じに なるようにメソッドを作成する。 クラス図 Rectangle -width:ing -height:int ----------- Rectangle() Rectangle(w:int,h:int) getArea():int ------------- 問題文 getArea()メソッドでは面積の計算をする(高さ×幅) コンストラクタRectangle()ではwidthとheightに初期値0を設定。 main()メソッドでは標準入力より幅、高さを整数として受け取り コンストラクタの引数とする。 実行結果 >10 >20 インスタンスr1の面積は200 インスタンスr1は1番目のインスタンス >123 >45 インスタンスr2の面積は5535 インスタンスr2は2番目のインスタンス ---------------------------------------- 上記の内容は前回の課題(すでに終えている) この問題に改良を加え getArea()メソッドをクラスメソッドに書き換える。 クラスメソッドとして書いたgetAreaでは引数でインスタンスを渡してもらい オブジェクト名.フィールド名として使う 現在の進行状況です import java.io.*; class Rectangle{ public static int count = 0; private int width; private int height; public Rectangle(){ width=0; height=0; count++; } public Rectangle(int w, int h){ width=w; height=h; count++; } public static void getArea(){ } public static void count(){ System.out.println("インスタンスはr" + count + "番目のインスタンスです。"); } } class Ex56{ public static void main(String args[])throws IOException{ BufferedReader br = new BufferedReader (new InputStreamReader(System.in)); int num=0; while(num < 2){ System.out.print(">"); String wid = br.readLine(); System.out.print(">"); String hei = br.readLine(); int num1 = Integer.parseInt(wid); int num2 = Integer.parseInt(hei); Rectangle rectangle1 = new Rectangle(num1, num2); Rectangle.rectangle1(num1, num2); Rectangle.count(); num++; } } } 分からない部分ですが、 @getAreaでは引数でインスタンスを渡してもらい オブジェクト名.フィールド名として使う A渡した値をどの場所でどう表示すべきか BどのようにgetAreaへ値をわたしたらよいか と言ったところが現在の疑問点です。 どなたかよろしくおねがいします。 | ||||
|
投稿日時: 2007-09-06 08:28
問題文をまだよく理解していないようですね。
getArea() メソッドに引数を用意するよう指定されています。 引数として渡されたRectangleインスタンスを・・・。 頑張ってください。 | ||||
|
投稿日時: 2007-09-06 11:28
インスタンスメソッドとstaticメソッドと書き換えの問題になるのかな。
このあたり、オブジェクト指向を理解するための壁かもしれませんね。 以下に簡単なサンプルを書いておきます。 インスタンスメソッドとstataicメソッドの書き換えの例です。 こういった小さなサンプルを書いていじり倒して実際の挙動と 自分の思った挙動が一致するように訓練して見てください。
| ||||
|
投稿日時: 2007-09-06 21:38
もしかして、久々の実習問題そのまま投稿系のスレッドですかね?
辛抱たまらず模範解答を書いてしまう方が出てこない ことを願います、投稿者のためにも。 もう一度問題文をよく読んでみましょう。 ※もうヒントは出てるから十分かと |
1