1、(1)編寫一個接口ShapePara,要求: 接口中的方法: int getArea():獲得圖形的面積。int getCircumference():獲得圖形的周長
(2)編寫一個圓類Circle,要求:圓類Circle實作接口ShapePara。
該類包含有成員變量:
radius:public 修飾的double類型radius,表示圓的半徑。
x:private修飾的double型變量x,表示圓心的橫坐标。
y:protected修飾的double型變量y,表示圓心的縱坐标。
包含的方法有:
Circle(double radius) 有參構造方法。以形參表中的參數初始化半徑,圓心為坐标原點。 double getRadius():擷取半徑為方法的傳回值。void setCenter(double x, double y):利用形參表中的參數設定類Circle的圓心坐标。void setRadius(double radius):利用形參表中的參數設定類Circle的radius域。
public interface ShapePara {
int getArea();
int getCircumference();
}
public class Circle implements ShapePara {
public double radius;//圓的半徑
private double x;//圓心的橫坐标
protected double y;//圓心的縱坐标
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public Circle(double radius){
this.radius=radius;
}
public double gerRadius(){
return radius;
}
public void setCenter(double x,double y){
this.x=x;
this.y=y;
}
public void setRadius(double radius){
this.radius=radius;
}
@Override
public int getArea() {
return (int)(Math.PI*radius*radius);
}
@Override
public int getCircumference() {
return (int)(2*Math.PI*radius);
}
}
public class TestCircle {
public static void main(String[] args) {
Circle cir=new Circle(3);
System.out.println("半徑為3的圓的面積為:"+cir.getArea());
System.out.println("半徑為3的圓的周長:"+cir.getCircumference());
}
}
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL0UzNxQDM0IjMzIDNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
2、編寫一個Car類,具有String類型的屬性品牌,具有功能drive;定義其子類Aodi和Benchi,具有屬性:價格、型号;具有功能:變速;定義主類E,在其main方法中分别建立Aodi和Benchi的對象并測試對象的特性。
public class Car {
private String brand;
private double rate=0.0;
public double getRate() {
return rate;
}
public void setRate(double rate) {
this.rate = rate;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public void drive(){
System.out.println("汽車已經啟動");
}
}
public class Benchi extends Car {
private double price;
private String model;
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public void changeRate(double rate){
System.out.println("奔馳車啟動後速度為:"+(super.getRate()+rate));
}
}
public class Aodi extends Car {
private double price;
private String model;
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public void changeRate(double rate){
System.out.println("奧迪車啟動後的速度為:"+(super.getRate()+rate));
}
public class E {
public static void main(String []args){
Aodi aodi=new Aodi();
Benchi ben=new Benchi();
aodi.setBrand("奧迪A6");
aodi.setPrice(500000.0);
System.out.println("奧迪車的型号是:"+aodi.getBrand());
System.out.println("奧迪車的價格是: "+aodi.getPrice());
aodi.changeRate(10);
ben.setBrand("奔馳2000");
ben.setPrice(800000.0);
System.out.println("奔馳車的型号是:"+ben.getBrand());
System.out.println("奔馳車的價格是: "+ben.getPrice());
ben.changeRate(10);
}
}
3、按要求編寫一個Java應用程式:
(1)編寫一個矩形類Rect,包含:
兩個屬性:矩形的寬width;矩形的高height。
兩個構造方法:
1.一個帶有兩個參數的構造方法,用于将width和height屬性初化;
2.一個不帶參數的構造方法,将矩形初始化為寬和高都為10。
兩個方法:
求矩形面積的方法area()
求矩形周長的方法perimeter()
(2)通過繼承Rect類編寫一個具有确定位置的矩形類PlainRect,其确定位置用
矩形的左上角坐标來辨別,包含:
添加兩個屬性:矩形左上角坐标startX和startY。
兩個構造方法:
帶4個參數的構造方法,用于對startX、startY、width和height屬性初始化;
不帶參數的構造方法,将矩形初始化為左上角坐标、長和寬都為0的矩形;
添加一個方法:
判斷某個點是否在矩形内部的方法isInside(double x,double y)。如在矩形内,傳回true, 否則,傳回false。
提示:點在矩形類是指滿足條件:x>=startX&&x<=(startX+width)&&y<startY&&y>=(startY-height)
(3)編寫PlainRect類的測試程式建立一個左上角坐标為(10,10),長為20,寬為10的矩形對象;計算并列印輸出矩形的面積和周長;判斷點(25.5,13)是否在矩形内,并列印輸出相關資訊。
public class Rect {
//成員屬性
private double width;
private double height;
//含參構造方法
public Rect(double width,double height){
this.width=width;
this.height=height;
}
//不含參構造方法
public Rect(){
width=10.0;
height=10.0;
}
//計算面積
public double area(){
return width*height;
}
//計算周長
public double perimeter(){
return 2*(width+height);
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
}
public class PlainRect extends Rect {
//聲明屬性
private double startX;
private double startY;
public double getStartX() {
return startX;
}
public void setStartX(double startX) {
this.startX = startX;
}
public double getStartY() {
return startY;
}
public void setStartY(double startY) {
this.startY = startY;
}
//含參構造方法,為父類及子類屬性初始化
public PlainRect(double startX,double startY,double width,double height){
this.startX=startX;
this.startY=startY;
this.setWidth(width);
this.setHeight(height);
}
//無參構造器
public PlainRect(){
startX=0;
startY=0;
setWidth(0);
setHeight(0);
}
//判斷點(x,y)是否在矩形内,在則傳回true,否則傳回false
public boolean isInside(double x,double y){
if(x>=startX && x<=(startX+getWidth()) && y<startY && y>=(startY-getHeight()))
return true;
return false;
}
}
public class TestPlainRect {
public static void main(String[] args) {
PlainRect pr=new PlainRect(10,10,20,10);//建立子類對象,并初始化
System.out.println(pr.area());
System.out.println(pr.perimeter());
System.out.println("(25.5,13)是否在矩形内"+pr.isInside(25.5, 13));
}
}