以圆类 Circle 及立体图形类 Solid 为基础设计球类 Sphere
学习内容:以圆类 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的更多相关文章
- 以圆类 Circle 及立体图形类 Solid 为基础设计圆锥类 Cone
学习内容:以圆类 Circle 及立体图形类 Solid 为基础设计圆锥类 Cone 代码示例: import java.util.Scanner; class Point4{ private dou ...
- 以圆类 Circle 及立体图形类 Solid 为基础设计圆柱类 Cylinder
学习内容:以圆类 Circle 及立体图形类 Solid 为基础设计圆柱类 Cylinder 代码示例: import java.util.Scanner;class Point3{ private ...
- 以圆类 Circle 为基础设计球类 Sphere
学习内容:实验二以圆类 Circle 为基础设计球类 Sphere 代码示例: import java.util.Scanner; class Point{ private double x; pri ...
- 以点类 Point 及平面图形类 Plane 为基础设计圆类 Circle
学习内容:以点类 Point 及平面图形类 Plane 为基础设计圆类 Circle 代码示例: import java.util.Scanner; class Point2{ private dou ...
- 以点类 Point 及平面图形类 Plane 为基础设计三角形类 Triangle
学习内容:以点类 Point 及平面图形类 Plane 为基础设计三角形类 Triangle 代码示例: import java.util.Scanner; class Point{ private ...
- 创建一个圆类Circle的对象,分别设置圆的半径计算并分别显示圆半径、圆面积、圆周长。
编写一个圆类Circle,该类拥有: ①一个成员变量 Radius(私有,浮点型): // 存放圆的半径: ②两个构造方法 Circle( ) // 将半径设为0 Circle(double r ) ...
- 实验二——以点类 Point 为基类设计圆类 Circle
学习内容:以点类 Point 为基类设计圆类 Circle 示例代码: package 实验二; import java.util.Scanner; class Point{//父类Point pri ...
- 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 ...
- 使用IntelliJ IDEA查看类的继承关系图形
最近正好也没什么可忙的,就回过头来鼓捣过去的知识点,到Servlet部分时,以前学习的时候硬是把从上到下的继承关系和接口实现记得乱七八糟. 这次利用了IDEA的diagram,结果一目了然,也是好用到 ...
随机推荐
- 顺利通过EMC实验(6)
- React-简单通用的抛物线动画
一个简单通用的 React 抛物线动画demo Usage import { parabola } from "./parabola" ... onAnimate = () =&g ...
- 判断页面环境是否在小程序的webview中
最近公司需要做小程序项目,但是又希望能够快速开发,就想着把web端的响应式页面放到webview里快速开发.但在判断页面环境的时候出现一些问题. 环境问题 用小程序提供的wx.miniProgram. ...
- 第二次课堂练习-连接hbase数据库-页面展示
图片来源:中国知网 页面来源:中国科学院文献情报中心-科技查新平台 如有侵权,请评论留言
- 【Android开发】LogcatView,手机中查看logcat神器
先上图 集成: 1, allprojects { repositories { ... maven { url 'https://www.jitpack.io' } } } 2, dependenci ...
- vue配置请求转发解决跨域问题
通过nodejs的请求转发到后台,前端地址:http://localhost:8080 后端地址:http://localhost:8081 vue.config.js内容如下: let prox ...
- android的布局xml文件如何添加注释?
xml布局文件如图添加注释后报错,错误内容如下: 上网查阅xml添加注释的语法规则: XML 中的注释 在 XML 中编写注释的语法与 HTML 的语法很相似: <!--This is a co ...
- 移动端input输入框把页面顶起, 收起键盘页面复原不了问题
我相信大家平时也会遇到这种问题, 移动端 input 或者 textarea获取光标, 整个页面被顶起来, 键盘收起, 页面不复原的问题 ====>>>> 我这边提供两种解决 ...
- title与h1的区别、b与strong的区别、i与em的区别
strong标签有语义,是起到加重语气的效果,而b标签是没有的,b标签只是一个简单加粗标签.b标签之间的字符都设为粗体,strong标签加强字符的语气都是通过粗体来实现的,而搜索引擎更侧重strong ...
- Python入门-正则表达式
正则匹配函数 # 需要先导入re模块 import re #字符串,匹配查找 info = "www baidu com" print("=======字符串自带find ...