色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

Java計算面積和周長異常類

周雨萌1年前6瀏覽0評論

Java是一種流行的編程語言,它可以用來計算各種數學問題,比如計算一個圖形的面積和周長。當進行這類計算時,我們可能會遭遇一些異常,比如長和寬不能為負數,或者圓的半徑必須大于零。在這種情況下,一個好的程序應該拋出一個自定義的異常,以防止程序崩潰或輸出無效的結果。

public class InvalidShapeException extends Exception {
public InvalidShapeException(String message) {
super(message);
}
}
public class Shape {
protected double width;
protected double height;
public double getArea() throws InvalidShapeException {
if (width< 0 || height< 0) {
throw new InvalidShapeException("Width and height must be positive numbers");
}
return width * height;
}
public double getPerimeter() throws InvalidShapeException {
if (width< 0 || height< 0) {
throw new InvalidShapeException("Width and height must be positive numbers");
}
return 2 * (width + height);
}
}
public class Rectangle extends Shape {
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
}
public class Circle extends Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
public double getArea() throws InvalidShapeException {
if (radius< 0) {
throw new InvalidShapeException("Radius must be a positive number");
}
return Math.PI * radius * radius;
}
public double getPerimeter() throws InvalidShapeException {
if (radius< 0) {
throw new InvalidShapeException("Radius must be a positive number");
}
return 2 * Math.PI * radius;
}
}

上述代碼段包含幾個類,分別用于計算矩形和圓的面積和周長,以及處理可能出現的異常。這些類都繼承了一個基類Shape,它包括Width和Height這兩個屬性,以及getArea和getPerimeter這兩個方法。如果寬度或高度的值小于0,程序會拋出一個InvalidShapeException異常。如果圓的半徑小于0,同樣會拋出一個InvalidShapeException異常。