编写一个完整的JAVA Application程序,包含接口Shape,Circle类和Square类,Test类,具体要求如下: 1)接口Shape:包含方法 double getArea():求一个形状的面积 double getPerimeter():求一个形状的周长 2)Circle类:具有以下属性和方法: 属性radius:double类型,表示圆的半径。 方法:Circle(double r):构造函数 toString(): 输出圆的相关信息(半径等)。 3)Square类:具有以下属性和方法: 属性length,width:均是double类型,表示长方形的长和宽。 方法:Square(double x,double y):构造函数 toString(): 输出长方形的相关信息(长 宽等) 4)Test类作为主类完成测试功能: 输出圆的周长和面积。 输出长方形的周长和面积 产生随机数决定生成形状的类型,偶数就生成一个Circle对象,奇数就生成一个Square对象,将生成的对象赋值给接口句柄,计算并输出该形状的周长和面积。
时间: 2023-06-14 13:07:25 浏览: 132
以下是完整的JAVA Application程序,包含接口Shape,Circle类和Square类,Test类:
Shape接口:
```java
public interface Shape {
double getArea();
double getPerimeter();
}
```
Circle类:
```java
public class Circle implements Shape {
private double radius;
public Circle(double r) {
this.radius = r;
}
public double getArea() {
return Math.PI * radius * radius;
}
public double getPerimeter() {
return 2 * Math.PI * radius;
}
public String toString() {
return "Circle with radius " + this.radius;
}
}
```
Square类:
```java
public class Square implements Shape {
private double length;
private double width;
public Square(double x, double y) {
this.length = x;
this.width = y;
}
public double getArea() {
return length * width;
}
public double getPerimeter() {
return 2 * (length + width);
}
public String toString() {
return "Square with length " + this.length + " and width " + this.width;
}
}
```
Test类:
```java
import java.util.Random;
public class Test {
public static void main(String[] args) {
Shape shape;
Random rand = new Random();
int num = rand.nextInt(10);
if (num % 2 == 0) {
shape = new Circle(5.0);
System.out.println(shape.toString());
System.out.println("Area: " + shape.getArea());
System.out.println("Perimeter: " + shape.getPerimeter());
} else {
shape = new Square(4.0, 5.0);
System.out.println(shape.toString());
System.out.println("Area: " + shape.getArea());
System.out.println("Perimeter: " + shape.getPerimeter());
}
}
}
```
这个程序会随机生成一个数字,如果这个数字是偶数,那么就创建一个Circle对象并计算它的面积和周长,否则就创建一个Square对象并计算它的面积和周长。最后输出结果。
阅读全文