導航:首頁 > 編程語言 > java寫一個shape形狀類

java寫一個shape形狀類

發布時間:2025-03-02 03:31:25

Ⅰ 用java定義一個形狀類Shape

publicabstractclass Shape {
publicabstractvoid area();
}

class Circle extends Shape {
privatedoubleradius;
privatedoubleS;

Circle(double radius) {
this.radius = radius;
}

publicvoid area() {
S = 3.14 * radius * radius;
System.out.println(S);
}

}

class Rect extends Shape {
privatedoublelength;
privatedoublewidth;
privatedoubleS;

Rect(double length,double width) {
this.length = length;
this.width = width;
}

publicvoid area() {
S = length * width;
System.out.println(S);
}
}

class Test {
publicstaticvoid main(String[] args) {
Circle a = new Circle(3);
a.area();
Rect b = new Rect(3,4);
b.area();
}
}

Ⅱ 編寫一個完整的Java Application 程序

在Java中,編寫一個完整的應用程序通常涉及定義類、介面以及實現這些介面的方法。這里,我們通過一個簡單的例子來展示如何創建多個類,每個類負責一個具體的形狀,並實現一個計算面積和周長的介面。

首先,我們定義一個父類`Shape`,它包含形狀的名稱和顏色屬性。這些屬性將被子類繼承。

class Shape { private String name; private String color; }

接著,我們定義一個介面`IshapeCalculate`,要求實現類提供計算面積和周長的方法。

interface IshapeCalculate { public double getArea(); public double getPerimeter(); }

然後,我們創建一個`Rectangle`類,繼承自`Shape`並實現`IshapeCalculate`介面。這個類有兩個屬性,寬和高,以及相應的構造函數和實現介面的方法。

class Rectangle extends Shape implements IshapeCalculate { private double width; private double height; public Rectangle(double w, double h) { this.width = w; this.height = h; } @Override public double getArea() { return width * height; } @Override public double getPerimeter() { return 2 * (width + height); } public String toString() { return "矩形width=" + width + ",height=" + height + ",perimeter=" + getPerimeter() + ",area=" + getArea(); } }

接下來,我們創建一個`Triangle`類,同樣繼承自`Shape`並實現`IshapeCalculate`介面。這個類有三個屬性,表示三角形的三條邊,以及相應的構造函數和實現介面的方法。

class Triangle extends Shape implements IshapeCalculate { private double x; private double y; private double z; private double s; public Triangle(double x, double y, double z) { this.x = x; this.y = y; this.z = z; s = (x + y + z) / 2; } @Override public double getArea() { return Math.sqrt(s * (s - x) * (s - y) * (s - z)); } @Override public double getPerimeter() { return x + y + z; } public String toString() { return "三角形threesides:" + x + "," + y + "," + z + ",perimeter=" + getPerimeter() + ",area=" + getArea(); } }

最後,我們創建一個`Circle`類,繼承自`Shape`並實現`IshapeCalculate`介面。這個類有一個屬性,表示圓的半徑,以及相應的構造函數和實現介面的方法。

class Circle extends Shape implements IshapeCalculate { private double radius; public Circle(double radius) { this.radius = radius; } @Override public double getArea() { return Math.PI * Math.pow(radius, 2); } @Override public double getPerimeter() { return 2 * 3.1415926 * radius; } public String toString() { return "圓形radius=" + radius + ",perimeter=" + getPerimeter() + ",area=" + getArea(); } }

在`Test`類中,我們創建了上述類的實例,並調用它們的`toString`方法來輸出形狀的描述信息。

public class Test { public static void main(String args[]) { Rectangle rectangle = new Rectangle(1, 2); System.out.println(rectangle); Triangle triangle = new Triangle(3, 4, 5); System.out.println(triangle); Circle circle = new Circle(1); System.out.println(circle); } }

Ⅲ 1.求解用java寫(如三角形,矩型,圓)的的周長,面積,要求用到繼承,多態,抽象類,介面,內部類等。

//抽象的形狀類
public abstract class Shape{ }

//介面
public interface IDisplay{
void display(); //顯示圖形的基本信息
double getArea(); //計算面積
double getGirth(); //計算周長
}

//三角形類
public class Triangle extends Shape implements IDisplay{
protected double a;
protected double b;
protected double c;

public Triangle(double a, double b, double c){
this.a = a; this.b = b; this.c = c;
}

@Override public double getArea() {
double s = (a + b + c) / 2;
return Math.sqrt(s*(s-a)*(s-b)*(s-c));
}

@Override public double getGirth() {
return this.a + this.b + this.c;
}

@Override public void display() {
System.out.println("三角形");
System.out.println("邊長:" + a + ", " + b + ", " + c);
}
}

//矩形類
public class Rectangle extends Shape implements IDisplay {
protected double width; protected double height;

public Rectangle(double width, double height){
this.width = width;
this.height = height;
}

@Override public double getArea() {
return this.width * this.height;
}

@Override public double getGirth() {
return 2 * ( this.width + this.height);
}

@Override public void display() {
System.out.println("矩形");
System.out.println("寬:" + this.width + ", 高:" + this.height);
}
}

//圓類
public class Circle extends Shape implements IDisplay {
protected double radius;

public Circle(double radius){
this.radius = radius;
}

@Override public double getArea() {
return Math.PI * this.radius * this.radius;
}

@Override public double getGirth() {
return 2 * Math.PI * this.radius;
}

@Override public void display() {
System.out.println("圓");
System.out.println("半徑:" + this.radius);
}
}

Ⅳ 用java編寫類Circle、Square、和Rectangle,實現上述介面,用於計算圓、正方形、長方形面積

在Java編程中,定義了一個介面Shape,它包含一個方法area,用於計算形狀的面積。同時,創建了三個類:Circle、Square和Rectangle,分別實現這個介面,用於計算圓、正方形和長方形的面積。

首先定義介面Shape:

public interface Shape { double pi=3.14; double area(); }

接著創建Circle類,實現Shape介面:

public class Circle implements Shape { private double radius; public Circle(double radius) { this.radius=radius; } public double area() { double area; area=pi*radius*radius; System.out.println("area="+area); return area; } }

在Circle類中,構造方法接受一個參數radius,用於初始化圓的半徑。然後,area()方法計算圓的面積,並列印結果。

接下來是Square類,同樣實現Shape介面:

public class Square implements Shape { private double length; public Square(double length) { this.length=length; } public double area() { double area; area=length*length; System.out.println("area="+area); return area; } }

Square類的構造方法接收一個參數length,用於初始化正方形的邊長。同樣,area()方法計算正方形的面積,並列印結果。

最後是Rectangle類,也實現Shape介面:

public class Rectangle implements Shape { private double length; private double width; public Rectangle(double length,double width) { this.length=length; this.width=width; } public double area() { double area; area=length*width; System.out.println("area="+area); return area; } }

Rectangle類的構造方法接受兩個參數length和width,分別用於初始化長方形的長和寬。同樣,area()方法計算長方形的面積,並列印結果。

以上代碼中,每個類都包含了實現Shape介面的方法area(),用於計算並返回各自形狀的面積。在主方法中,通過創建相應類的實例並調用area()方法,可以計算並輸出不同形狀的面積。

閱讀全文

與java寫一個shape形狀類相關的資料

熱點內容
dnf85版本劍魔刷圖加點 瀏覽:407
手機硬碟測試架可以讀取哪些數據 瀏覽:704
ug前後處理結算結果找不到文件 瀏覽:769
網頁框架拆分代碼 瀏覽:382
未來十年網路安全有什麼影響 瀏覽:362
win10更新後進不了劍靈 瀏覽:243
iphone471激活出錯 瀏覽:648
怎麼把文件拷到u盤 瀏覽:620
中伊簽署文件視頻 瀏覽:661
電信光寬頻網路不穩定 瀏覽:504
網路崗軟路由 瀏覽:995
黑莓z10在哪裡下載app 瀏覽:310
net批量下載文件 瀏覽:696
怎麼把蘋果一體機文件拷貝 瀏覽:117
sql文件怎麼寫 瀏覽:9
帝豪ec718導航升級 瀏覽:257
如何運用編程進行統計 瀏覽:570
excel如何拉考勤數據 瀏覽:879
大智慧612手機版本 瀏覽:796
編程試什麼 瀏覽:252

友情鏈接