十九日目は昨日の残り
練習問題が解けなかったので、続きを…と思ったものの。何だこりゃ?
次のように整数値の座標をあらわすMyPointクラスを作成してください。
ただし、座標軸の範囲は0〜100となるようにしてください。
フィールド
private int X;(X座標)
private int Y;(Y座標)
メソッド
public void setX(int px);(X座標を設定する)
public void setY(int py);(Y座標を設定する)
public int getX();(X座標を得る)
public int getY();(Y座標を得る)
コンストラクタ
public MyPoint();(初期座標を(0,0)とする)
public MyPoint(int x,int y);(初期座標を指定する)
何この問題。コンストラクタ2つある意味わかんねー!
座標を設定と座標を得るって、それ一つにしちゃいかんの? ぬがー!
…と、混乱すること約一時間。別にプログラム組めと言われてるわけじゃないことに気づく。あっさり解けたorz
これで良いはず、だけど自信無いので載せてみよう。
//座標値を格納するクラス class MyPoint { //フィールド private int X; private int Y; //コンストラクタ public MyPoint() { //初期座標を(0,0)とする X = 0; Y = 0; } public MyPoint(int x,int y) { //初期座標を指定する X = x; Y = y; } //メソッド public void setX(int px) { //X座標の設定 if(0 <= px && px >= 100){ X = px; } else{ System.out.println("値が不正です"); } } public void setY(int py) { //y座標の設定 if(0 <= py && py >= 100){ Y = py; } else{ System.out.println("値が不正です"); } } public int getX() { //x座標を得る return X; } public int getY() { //y座標を得る return Y; } }
めっさ適当になった気がする。クラスだけでなくちゃんと動作するように書いてみようかな?