1 package jicheng; 2 3 public class Rect { 4 /* 5 * 25.按要求编写一个Java应用程序: (1)编写一个矩形类Rect,包含: 6 * 两个protected属性:矩形的宽width;矩形的高height。 两个构造方法: 7 * 1.一个带有两个参数的构造方法,用于将width和height属性初化; 8 * 2.一个不带参数的构造方法,将矩形初始化为宽和高都为10。 两个方法: 9 * 求矩形面积的方法area() 求矩形周长的方法perimeter() 10 */ 11 double width; 12 double height; 13 double area; 14 double perimeter; 15 public Rect(double width,double height) 16 { 17 this.width=width; 18 this.height=height; 19 } 20 public Rect() 21 { 22 double width=10; 23 double height=10; 24 } 25 public void area(double width,double height) 26 { 27 area=width*height; 28 System.out.println("矩形的面积为:"+area); 29 } 30 public void perimeter(double width,double height) 31 { 32 perimeter=(width+height)*2; 33 System.out.println("矩形的周长为:"+perimeter); 34 } 35 }
1 package jicheng; 2 3 public class PlainRect extends Rect { 4 /* 5 * (2)通过继承Rect类编写一个具有确定位置的矩形类PlainRect,其确定位置用 矩形的左上角坐标来标识, 6 * 包含:添加两个属性:矩形左上角坐标startX和startY。 两个构造方法: 7 * 带4个参数的构造方法,用于对startX、startY、width和height属性 初始化; 8 * 不带参数的构造方法,将矩形初始化为左上角坐标、长和宽都为0 的矩形; 添加一个方法: 判断某个点是否在矩形内部的方法isInside(double 9 * x,double y)。如在矩 形内,返回true, 否则,返回false。 提示:点在矩形类是指满足条件: 10 * x>=startX&&x<=(startX+width)&&y<startY&&y>=(startY-height) 11 * (3)编写PlainRect类的测试程序 创建一个左上角坐标为(10,10),长为20,宽为10的矩形对象; 12 * 计算并打印输出矩形的面积和周长; 13 * 判断点(25.5,13)是否在矩形内,并打印输出相关信息。 14 */ 15 private double startX; 16 private double startY; 17 18 public double getStartX() { 19 return startX; 20 } 21 public void setStartX(double startX) { 22 this.startX = startX; 23 } 24 public double getStartY() { 25 return startY; 26 } 27 public void setStartY(double startY) { 28 this.startY = startY; 29 } 30 public PlainRect(double startX, double startY, double width, double height) { 31 this.startX = startX; 32 this.startY=startY; 33 this.width=width; 34 this.height=height; 35 } 36 public PlainRect() 37 { 38 startX=0; 39 startY=0; 40 width=0; 41 height=0; 42 } 43 public void isInside(double x,double y){ 44 if(x>=startX&&x<=(startX+width)&&y<startY&&y>=(startY-height)) 45 { 46 System.out.println(true); 47 } 48 else 49 { 50 System.out.println(false); 51 } 52 } 53 public static void main(String[] args) { 54 // TODO 自动生成的方法存根 55 56 PlainRect pr=new PlainRect(); 57 pr.setStartX(10); 58 pr.setStartY(10); 59 pr.width=20; 60 pr.height=10; 61 pr.area(20, 10); 62 pr.perimeter(20, 10); 63 pr.isInside(25.5, 13); 64 } 65 66 }
原文:http://www.cnblogs.com/yg6405816/p/5521554.html