学习内容:以圆类 Circle 及立体图形类 Solid 为基础设计球类 Sphere

代码示例:

package 实验三;

import java.util.Scanner;

class Point{
private double x;
private double y;
public Point(double x,double y) {
this.x=x;
this.y=y;
System.out.println("Point Constructor run");
}
public void setX(double x) {//设置x坐标
this.x=x;
}
public final double getX(){//返回x坐标
return x;
}
public void setY(double y) {//设置y坐标
this.y=y;
}
public final double getY(){//返回y坐标
return y;
}
public void show() {//显示点的坐标
System.out.print("Point(X="+x+",Y="+y+")");
}
}
abstract class Plane extends Point{
private double x;
private double y;
public Plane(double x, double y) {
super(x, y);
this.x=x;
this.y=y;
}
double length() {
return 0;
}
double area() {
return 0;
}
}
class Circle extends Plane{

private double x;
private double y;
final double PI=3.14159;
private double radius;
public Circle(double x,double y,double radius){
super(x,y);
this.x=x;
this.y=y;
this.radius=radius;
System.out.println("Circle Constructorrun");
}
public void setR(double r) {
radius=r;
}
public double getR() {
return radius;
}
public void show() {
System.out.println("Circle(Point("+x+","+y+"),Radius="+radius+")");
}
public double area() {
double area=PI*radius*radius;
System.out.println("Area="+area);
return 0;
}
public double length() {
double length=2*PI*radius;
System.out.println("Length="+length);
return 0;
}
}
abstract class Solid extends Circle{
private double x;
private double y;
private double radius;
public Solid(double x, double y, double radius) {
super(x, y, radius);
this.x=x;
this.y=y;
this.radius=radius;
}
public double volume() {//计算体积
return 0;
}
public double s_Area() {//计算表面积
return 0;
}
}

public class Sphere extends Solid{

private double x;
private double y;
private double radius;
final double PI=3.14159;
public void setR(double r) {
radius=r;
}
public double getR() {
return radius;
}
public Sphere(double x, double y, double r) {
super(x, y, r);
this.x=x;
this.y=y;
radius=r;
System.out.println("Sphere Constructor run");
}
public final void show() {
System.out.println("Sphere(Circle(Point("+x+","+y+"),Radius="+radius+")");
}
public final double s_Area() {
double sarea=4*PI*radius*radius;
System.out.println("s_Area="+sarea);
return 0;
}
public final double volume() {
double volume=(4.0/3.0)*PI*radius*radius*radius;
System.out.println("Volume="+volume);
return 0;
}

public static void main(String[] args) {
double r1;
System.out.println("请输入r:");
Scanner sc=new Scanner(System.in);
r1=sc.nextDouble();
Sphere s1=new Sphere(1,2,3);
Sphere s2=s1;
s1.show();
System.out.println();//换行
System.out.print("s1的面积:");
s1.area();
System.out.println();
System.out.print("s1的周长:");
s1.length();
System.out.println();
System.out.print("s1的表面积:");
s1.s_Area();
System.out.println();
System.out.print("s1的体积:");
s1.volume();
System.out.println("...............................................");
s2.setR(r1);
s2.show();
System.out.println();
System.out.print("s2的面积:");
s2.area();
System.out.println();
System.out.print("s2的周长:");
s2.length();
System.out.println();
System.out.print("s2的表面积:");
s2.s_Area();
System.out.println();
System.out.print("s2的体积:");
s2.volume();
System.out.println();

}

}

运行截图:

遇到的问题:面积、周长、表面积、体积无法输出

解决方法:面积、周长、表面积、体积无法输出原因为程序中包含旧方法,设置面积、周长、表面积、体积函数时直接返回了计算公式导致错误。解决方法为在函数中重新设置变量分别表示面积、周长、表面积、体积,输出该变量,返回值设为0.

明天任务:以点类 Point 及平面图形类 Plane 为基础设计圆类 Circle

以圆类 Circle 及立体图形类 Solid 为基础设计球类 Sphere的更多相关文章

  1. 以圆类 Circle 及立体图形类 Solid 为基础设计圆锥类 Cone

    学习内容:以圆类 Circle 及立体图形类 Solid 为基础设计圆锥类 Cone 代码示例: import java.util.Scanner; class Point4{ private dou ...

  2. 以圆类 Circle 及立体图形类 Solid 为基础设计圆柱类 Cylinder

    学习内容:以圆类 Circle 及立体图形类 Solid 为基础设计圆柱类 Cylinder 代码示例: import java.util.Scanner;class Point3{ private ...

  3. 以圆类 Circle 为基础设计球类 Sphere

    学习内容:实验二以圆类 Circle 为基础设计球类 Sphere 代码示例: import java.util.Scanner; class Point{ private double x; pri ...

  4. 以点类 Point 及平面图形类 Plane 为基础设计圆类 Circle

    学习内容:以点类 Point 及平面图形类 Plane 为基础设计圆类 Circle 代码示例: import java.util.Scanner; class Point2{ private dou ...

  5. 以点类 Point 及平面图形类 Plane 为基础设计三角形类 Triangle

    学习内容:以点类 Point 及平面图形类 Plane 为基础设计三角形类 Triangle 代码示例: import java.util.Scanner; class Point{ private ...

  6. 创建一个圆类Circle的对象,分别设置圆的半径计算并分别显示圆半径、圆面积、圆周长。

    编写一个圆类Circle,该类拥有: ①一个成员变量 Radius(私有,浮点型): // 存放圆的半径: ②两个构造方法 Circle( ) // 将半径设为0 Circle(double r ) ...

  7. 实验二——以点类 Point 为基类设计圆类 Circle

    学习内容:以点类 Point 为基类设计圆类 Circle 示例代码: package 实验二; import java.util.Scanner; class Point{//父类Point pri ...

  8. 2.定义图形类Shape,该类中有获得面积的方法getArea();定义长方形类Rect,该类是Shape的子类,类中有矩形长和宽的变量double a,double b,设置长和宽的方法setWidth()、setHeight(),使用getArea()求矩形面积;利用getArea方法实现题1中圆面积的求解。

    // 图形类Shape package d922B; public class Shape { double getArea(ShapePara x){ return x.getArea(); } d ...

  9. 使用IntelliJ IDEA查看类的继承关系图形

    最近正好也没什么可忙的,就回过头来鼓捣过去的知识点,到Servlet部分时,以前学习的时候硬是把从上到下的继承关系和接口实现记得乱七八糟. 这次利用了IDEA的diagram,结果一目了然,也是好用到 ...

随机推荐

  1. python-计算素数和

    本题要求计算输入两个正整数x,y(x<=y,包括x,y)素数和.函数isPrime用以判断一个数是否素数,primeSum函数返回素数和. 输入格式: 输入两个整数. 输出格式: [m-n]间的 ...

  2. MAUI VS Preview 2.1 win 下无法调试ios, 目前无解

    Microsoft Visual Studio Community 2022 (64 位) - Preview 版本 17.2.0 Preview 2.1 报错 严重性 代码 说明 项目 文件 行 禁 ...

  3. FastAPI(七十四)实战开发《在线课程学习系统》接口开发-- 删除留言

    之前文章FastAPI(七十三)实战开发<在线课程学习系统>接口开发-- 回复留言,那么我们这次分享删除留言接口的开发 可以对留言进行删除,这里的删除,我们使用的是逻辑的删除,不是物理删除 ...

  4. maven导入依赖了提示can't resolved

    maven导入依赖显红报错 网上有很多解决方案,我试过几个但是都不是很好用,推荐一个我自己一直在用的解决方案 在终端执行命令 mvn idea:idea 无法解析的原因基本上是因为包没下载完整,执行这 ...

  5. Java学习1——计算机基础知识

    本文包含了一些计算机基础知识:计算机组成:Windows常用快捷键:DOS常用命令:计算机语言发展史.

  6. Django中数据传输编码格式、ajax发送json数据、ajax发送文件、django序列化组件、ajax结合sweetalert做二次弹窗、批量增加数据

    前后端传输数据的编码格式(contentType) 提交post请求的两种方式: form表单 ajax请求 前后端传输数据的编码格式 urlencoded formdata(form表单里的) ja ...

  7. OSPF 路由协议详解(一)

    (文章目录) ospf 协议是网络层协议 此篇文章适合有一定网络基础的人 ospf 协议最多应用在企业网络中,针对于运营商网络并不是特别的适用,端口号为 89 通过 IP 进行数据的转发 ospf 基 ...

  8. form表单请求

    form 表单的acton属性指向url:端口号/(服务器get,post的参数), meyhod='get'/'post'  请求方式,必须要加上name属性. <form action=&q ...

  9. 【课程汇总】OpenHarmony 成长计划知识赋能第三期系列课程(附链接)

    OpenHarmony 开源开发者成长计划第三期知识赋能课程硬核程度再次升级,带领开发者上手 OpenHarmony 的标准系统应用开发,学习标准设备应用开发,使用 eTS UI 开发分布式应用样例, ...

  10. 2021.11.04 P1392 取数(多路归并)

    2021.11.04 P1392 取数(多路归并) P1392 取数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 在一个n行m列的数阵中,你须在每一行取一个数(共n个数) ...