学习内容:以圆类 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. 高速PCB设计名词解析

    1.吸芯效应 "芯吸效应"是超细纤维特有的性能,是指超细纤维中孔细,接近真空时,近水端纤维管口与水分子接触形成纤维中真空孔隙,此时大气压值超过纤维内部的真空,水就自然压积进入纤维孔 ...

  2. 使用Dropbox搭建静态网站详细教程

    DropBox是一款非常好用的免费网络文件同步工具,是Dropbox公司运行的在线存储服务,通过云计算实现因特网上的文件同步,用户可以存储并共享文件和文件夹.今天小z和大家分享一下如何使用dropbo ...

  3. android:text 文字阴影设置

    <SPAN style="FONT-SIZE: 16px"><TextView  android:id="@+id/text"       a ...

  4. WordPress 网站开发“微信小程序“实战(二)

    原文链接:https://devework.com/wordpres...,转载请用明链注明来源,谢谢! 本文是"WordPress 开发微信小程序"系列的第二篇,本文记录的是开发 ...

  5. Android中的Preference结构的设计与实现

    本文主要通过分析源代码来分享Preference的设计和实现方式,让开发者们在今后更加顺手地使用和扩展Preference类,或者在设计其他类似的界面和功能时可以提供参考帮助. Preference概 ...

  6. 升级DLL plugin 到AutoDllPlugin

    为了使打包构建速度加快使用的DLLPlugin,但是我们还是需要手动把dll文件引入文件, HTMLwebpackplugin 结合autoDLLplugin可以自动引入打包文件, 十份地方便

  7. Java核心知识1:泛型机制详解

    1 理解泛型的本质 JDK 1.5开始引入Java泛型(generics)这个特性,该特性提供了编译时类型安全检测机制,允许程序员在编译时检测到非法的类型. 泛型的本质是参数化类型,即给类型指定一个参 ...

  8. NodeJS学习日报day4——模块化

    // console.log(module); // 执行顺序不同,结果也不同 // module.exports = { // name : 'Cra2iTeT', // hi() { // con ...

  9. JavaWeb学习day7-Response初学4

    重定向和转发的区别 相同 页面都会实现跳转 不同 请求转发的时候url不会发生变化,编码是307 重定向的时候url会变化,编码是302

  10. angular.js中 路由 用法及概念

    在开讲之前,首先谈谈APP应用.平时我们用的app总是多页面,如果用原生安卓或者苹果,那当然很流畅啦.但是当我们用一般的html页面做移动端,简单时候我们可以用<a href="&qu ...