java程序 构建mycircle类_1. 编写一个完整的Java Application 程序.包含抽象类Shape,MyCircle类...

本文介绍了如何在Java中创建一个抽象类Shape,包含抽象方法getArea()和getPerimeter(),以及一个扩展Shape的MyCircle类。MyCircle类实现了圆的面积和周长计算,并提供了设置和获取半径的方法。通过Test类进行用户输入,创建并打印MyCircle对象的相关信息。
摘要由CSDN通过智能技术生成

展开全部

e69da5e6ba903231313335323631343130323136353331333335323437import java.util.*;

public abstract class Shape{

public abstract double getArea();

public abstract double getPerimeter();

}

public class MyCircle extends Shape{

private double radius;//圆的半径

public static final double PI=3.14;

public MyCircle(){

}

public MyCircle(double r){

this.radius=r;

}

public void setRadius(double radius){

this.radius=radius;

}

public double getRadius(){

return radius;

}

public double getArea(){

return PI*this.radius*this.radius;

}

public double getPerimeter(){

return 2*PI*this.radius;

}

public void toString(){

System.out.println("radius="+this.radius+",perimeter="+this.getPerimeter()+",area="+this.getArea());

}

}

public class Test{

public static void main(String[] args){

Scanner input=new Scanner(System.in);

MyCircle circle=new MyCircle();

System.out.println("请输入圆的半径:");

double r=input.nextDouble();

circle.setRadius(r);

circle.toString();

}

}

Java中,我们可以设计一个名为`MyCircle`的来表示一个圆,它通常需要定义属性如半径`radius`,以及一些常用的方法,例如计算圆的周长、面积、以及判断一个给定点是否在圆内等。这里是一个基本的设计: ```java public class MyCircle { // 圆的半径 private double radius; // 构造函数接受半径作为参数 public MyCircle(double radius) { if (radius <= 0) { throw new IllegalArgumentException("Radius must be positive"); } this.radius = radius; } // Getter and Setter for radius public double getRadius() { return radius; } public void setRadius(double radius) { this.radius = radius; } // 计算圆的周长 public double circumference() { return Math.PI * 2 * radius; } // 计算圆的面积 public double area() { return Math.PI * radius * radius; } // 判断一个点(坐标x, y)是否在圆内 public boolean isPointInside(int x, int y) { int distance = (int) Math.pow(x - getCenterX(), 2) + (int) Math.pow(y - getCenterY(), 2); return distance < (int) Math.pow(radius, 2); // 这里简化处理,实际应用中应使用Math.sqrt } // 获取圆心的x坐标,因为我们默认圆心在原点,所以返回0 private double getCenterX() { return 0; } // 获取圆心的y坐标,同理 private double getCenterY() { return 0; } // toString方法便于打印圆的相关信息 @Override public String toString() { return "MyCircle[radius=" + radius + "]"; } } ``` 这个`MyCircle`满足了题目的要求,但是要注意在实际使用中,`isPointInside`方法的判断可能会更复杂,因为需要考虑浮点数精度问题。此外,如果你希望圆心不是固定在原点,你需要额外定义`centerX`和`centerY`属性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值