電子書籍の厳選無料作品が豊富!

次のようなクラスメソッドを作りたいのですが、自分で作って見たところ、どのような点を修正すればいいか分かりません。
どうか教えてください。
(1) 次に示す内容を満たすバー(Bar)クラスを作成せよ。

1. バーの右端のx座標(=バーの長さ)、バーの名前を扱う2つのprivateなインスタンス変数を持つ。
2. バーの総数を扱うprivateなクラス変数を持つ。ただし、 ここでいう総数とは、(1)コンストラクタで作成したもの、(2)代入操作で作成したもの、の両方を含む。
3. 引数無しのコンストラクタが呼び出されてバーオブジェクトが作成されると、そのバーのx座標は0以上400未満でランダムに決定され、名前は文字「A」とランダムに決定された0以上10000未満の整数が連接されたものに決定される。
4. バーのx座標を設定するインスタンスメソッドを持つ。
5. バーの名前を設定するインスタンスメソッドを持つ。
6. バーのx座標を取得するインスタンスメソッドを持つ。
7. バーの名前を取得するインスタンスメソッドを持つ。
8. 作成されたバーの総数を取得するクラスメソッドを持つ。
9. 作成されたバーの総数を1増やすクラスメソッドを持つ。
10. 作成されたバーの総数を1減らすクラスメソッドを持つ。
これを自分なりに解釈したところ、
class Bar{
private int x;
private String name;
private int count;
private Bar(){
x=0;
count=0;
name="";
}
public void Bar(){
x = (int)(Math.random()*400);
name = "A" + (int)(Math.random()*10000);
}
public void setBar(int bx){
x=bx;
}
public void setName(String nm){
name=nm;
}
public void getX(int bx){
}
public void getName(String nm){
}
public void getCount(int c){
}
}
どうか御教授お願いします。

A 回答 (1件)

みた感じ



・クラス変数が定義されてないのでは(staticが見当たらなかったので)。
・コンストラクタ定義できてないのでは(public Barが見当たらない)?
・「(2)代入操作で作成したもの」ってのがコピーコンストラクタを意味するのであれば、それも必要かも?あるいはCloneableを実装するとか。
・getX()とか値を返すことができない定義になっているような。
・(9)と(10)のクラスメソッドが無いような。

Javaど素人なのではずしてるかも。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!