2011年11月6日 星期日

JAVA 範例 ch09 SampleP5

請根據下列的整數座標宣告一個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);(指定初始座標值)


class MyPoint
{
 private int x;
 private int y;
 
 public void setX(int px)   //設定X座標
 {
  if (px >= 0 && px <= 100)
  {
   x=px;
  }
  else
  {
   System.out.println("X小於0或大於100。");
   System.out.println(px + "不是正確的輸入範圍。");
  }
 }
 public void setY(int py)   //設定Y座標
 {
  if (py >=0 && py <=100)
  {
   y=py;
  }
  else
  {
   System.out.println("Y小於0或大於100。");
   System.out.println(py + "不是正確的輸入範圍。");
  }
 }
 public int getX()   //取得X座標
 {
  System.out.print("取得X座標。\t");
  return x;
 }
 public int getY()   //取得Y座標
 {
  System.out.println("取得Y座標。");
  return y;
 }
 
 public MyPoint()   //將初始座標值設為(0,0)
 {
  x=0;
  y=0;
 }
 public MyPoint(int x,int y)   //指定初始座標值
 {
  this.setX(x);
  this.setY(y);
  
  int px=this.getX();
  int py=this.getY();
  System.out.println("X座標為:" + px + "\tY座標為:" + py + "。\n");
 }
}

class SampleP5
{
 public static void main(String[] args)
 {
  System.out.println("MyPoint()結果:");
  MyPoint MyPoint1=new MyPoint();
  int x=MyPoint1.getX();
  int y=MyPoint1.getY();
  System.out.println("X座標為:" + x + "\tY座標為:" + y + "。\n");
  
  System.out.println("MyPoint(25,50)結果:");
  MyPoint MyPoint2=new MyPoint(0,50);
/*  int x2=MyPoint2.getX();   //移入到 public MyPoint(int x,int y) 中
  int y2=MyPoint2.getY();
  System.out.println("X座標為:" + x2 + "\tY座標為:" + y2 + "。");*/
  
  System.out.println("MyPoint(-25,50)結果:");
  MyPoint MyPoint3=new MyPoint(-25,100);
/*  int x3=MyPoint3.getX();
  int y3=MyPoint3.getY();
  System.out.println("X座標為:" + x3 + "\tY座標為:" + y3 + "。");*/
 }
}

沒有留言:

張貼留言