当前位置:系统粉 > 电脑问答 > 其他问答 > 一个小程序中的问题(Java)

一个小程序中的问题(Java)

提问者:东晋独尊  |  浏览 次  |  提问时间:2017-02-01  |  回答数量:9

一个小程序中的问题(Java) 看这个程序:abstract class 图形{public abstract double 求面积( ) ;}class 梯形 extends 图形{double a, b, h ; 梯形(double a, double b, double c){this.a = a ; ....................................................................................................“1” this.b = b ; this.c = c ;} public double 求面积( ) { return((1/2.0)*(a+b)*h) ;}}class 圆形 extend 图形{doubler ; 圆形 (double r){this.r = r ;} public double 求面积( ) { return(3.14*r*r) ;}}class 堆{图形 底 ;.................................................................

已有9条答案
索隆吧管理

索隆吧管理

回答数:209  |  被采纳数:91

2017-02-01 09:26:47
能否把 所有的中文 都换成英文 你这样写
看的不是很明白你的代码!
赞 20
几叶兼风雨

几叶兼风雨

回答数:177  |  被采纳数:131

2017-02-01 14:00:24
这是书上的原题,我一个字没改!我就是和你一样也是怎么都看不懂,看得稀里糊涂的,于是才来论坛上问的。
赞 17
流年掠过

流年掠过

回答数:212  |  被采纳数:65

2017-02-01 10:37:23
那行 把我代码简化下 理清条理了 再发上来
一起研究研究!!!互相学习嘛!!!
赞 21
未来依旧洒脱丶

未来依旧洒脱丶

回答数:61  |  被采纳数:58

2017-02-01 09:54:44
简单的 把代码改成这样了 你再看看 还有什么不明白的地方 说出来大家一起研究研究
package com.neo.project;abstract class Chart {public abstract double calcArea() ;}class TrapezoidalChart extends Chart {private double upSize; private double downSize; private double height;public TrapezoidalChart(double upSize, double downSize, double height) { this.upSize = upSize ; this.downSize = downSize;this.height = height;} public double calcArea() { return((upSize + downSize) * height / 2); }}class RoundChart extends Chart {private double radius;public RoundChart (double radius) {this.radius = radius;} public double calcArea() { return(3.14 * radius * radius) ; }}class Stack {private Chart chart; private double height ;Stack(Chart chart, double height) {this.chart = chart ;this.height = height; } public void changeChart(Chart newChart) {this.chart = newChart ;}public double calcVolume() {return (chart.calcArea() * height) / 3.0 ;}}public class CalcFunction {public static void main(String args[ ]) { Stack stack ;Chart chart; chart = new TrapezoidalChart(2.0, 7.0, 10.7) ;System.out.println("TrapezoidalChart area = " +chart.calcArea()) ;stack = new Stack(chart, 30); System.out.println("TrapezoidalChart Stack volume = " +stack.calcVolume());double radius = 10.0;chart = new RoundChart(radius) ;System.out.println("RoundChart radio = " +radius+ " area = " +chart.calcArea()) ;stack.changeChart(chart);System.out.println("RoundChart Stack volume = " +stack.calcVolume()) ;}}复制代码
赞 6
小小小小熠丶6

小小小小熠丶6

回答数:151  |  被采纳数:137

2017-02-01 08:58:53
不好意思 有点惭愧!
我怎么觉得你的简化了的代码在我看来反而复杂了?
原本看书上的还稍微有点条理,你的代码中很多关键字的意思我都不懂,毕竟我还是个新手,还只学了this和super两个关键字,只学到了包 对象和多线程
赞 15
stan哇咔咔

stan哇咔咔

回答数:25  |  被采纳数:141

2017-02-01 12:13:02
没关系那你再看看 我这个代码 我都注释好给你了 有什么不明白的 你再说吧
package com.neo.project;//定义一个抽象类Chart,其中定义一个求面积的方法calcArea();abstract class Chart {public abstract double calcArea() ;}//创建梯形类并且继承抽象类Chart,同时也继承了求面积的方法calcArea();class TrapezoidalChart extends Chart {//定义三个double的变量分别为梯形的 上边、下边、高度private double upSize; private double downSize; private double height;//定义一个梯形的构造方法需要传递三个参数public TrapezoidalChart(double upSize, double downSize, double height) {//把传递进来的值分别的赋予事先定义好的三个变量this.upSize = upSize ; this.downSize = downSize;this.height = height;}//继承抽象的求面积calcArea()方法,返回梯形的计算结果public double calcArea() { return((upSize + downSize) * height / 2);}}//创建圆形类并且继承抽象类Chart, 同时也继承了求面积的方法calcArea();class RoundChart extends Chart {//定义一个double变量用来表示圆形的半径值private double radius;//定义一个圆形的构造方法需要传递一个参数public RoundChart (double radius) {//把传递进来的值赋予事先定义好的半径变量this.radius = radius;}//继承抽象的求面积calcArea()方法,返回圆形面积的计算结果public double calcArea() { return(3.14 * radius * radius) ;}}//创建一个堆栈Stack类class Stack {//定义两个变量 一个为Chart类型的图形变量 一个为double的高度变量private Chart chart; private double height ;//定义一个堆的构造方法需要传递两个参数public Stack(Chart chart, double height) {//把传递进来的值分别赋予事先定义好的变量this.chart = chart ;this.height = height;} //定义一个更换图形的方法changeChart, 目的是为了计算完梯形堆的 //又要计算圆形堆的,为不在重新定义多一个此Stack类,传递需要更换的图形public void changeChart(Chart newChart) {//把新的图形newChart赋予变量chart当中this.chart = newChart ;}//计算体积的方法public double calcVolume() {return (chart.calcArea() * height) / 3.0 ;}}public class CalcFunction {public static void main(String args[ ]) { Stack stack;Chart chart; //定义一个梯形图chart 并且计算该面积chart = new TrapezoidalChart(2.0, 7.0, 10.7) ;System.out.println("TrapezoidalChart area = " +chart.calcArea()) ;//定义一个以chart为堆栈底(也就是以梯形为底的堆栈体) 并且计算该体积stack = new Stack(chart, 30); System.out.println("TrapezoidalChart Stack volume = " +stack.calcVolume());//定义一个圆形图chart 并且计算该面积double radius = 10.0;chart = new RoundChart(radius) ;System.out.println("RoundChart radio = " +radius+ " area = " +chart.calcArea()) ;//使用更换图形方法函数 用当前的圆形图做堆栈底 并且计算该体积stack.changeChart(chart);System.out.println("RoundChart Stack volume = " +stack.calcVolume()) ;}}复制代码
赞 2
柭港不欢

柭港不欢

回答数:206  |  被采纳数:3

2017-02-01 19:18:41
neo_pang 你太谦虚了 我是菜鸟 我向你学习才对,我一直都很感谢你的这种付出的精神!正是有了你的这种耐心,才使我搞懂了书上一个又一个的程序,让我现在觉得学着有点成就感了!neo_pang 真的很谢谢你的时间
赞 20
小女人惪閖厷

小女人惪閖厷

回答数:136  |  被采纳数:16

2017-02-01 17:11:28


没关系的 我只是吃饱了撑着 没事情做而已!![s:469]
大家互相交流 学习而已!!!
你有会的 可以教教我!!!
这些基础的东西 我有很多也忘记的差不多了!!!呵呵!!!
赞 13
麦克摘个肾

麦克摘个肾

回答数:68  |  被采纳数:31

2017-02-01 10:08:17
回6楼:这样看起来容易理解多了 不过还有些不是很懂,容我再研究研究!
赞 6
解决方法
版权信息

Copyright @ 2011 系统粉 版权声明 最新发布内容 网站导航