係統粉 > 電腦問答 > 其他問答

已解決一個小程序中的問題(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

簡單的 把代碼改成這樣了 你再看看 還有什麼不明白的地方 說出來大家一起研究研究
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()) ;}}複製代碼
2017-02-01 09:54:44
讚 6
小小小小熠丶6

小小小小熠丶6

回答數:151  |  被采納數:137

不好意思 有點慚愧!
我怎麼覺得你的簡化了的代碼在我看來反而複雜了?
原本看書上的還稍微有點條理,你的代碼中很多關鍵字的意思我都不懂,畢竟我還是個新手,還隻學了this和super兩個關鍵字,隻學到了包 對象和多線程
2017-02-01 08:58:53
讚 15
stan哇哢哢

stan哇哢哢

回答數:25  |  被采納數:141

沒關係那你再看看 我這個代碼 我都注釋好給你了 有什麼不明白的 你再說吧
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()) ;}}複製代碼
2017-02-01 12:13:02
讚 2
柭港不歡

柭港不歡

回答數:206  |  被采納數:3

neo_pang 你太謙虛了 我是菜鳥 我向你學習才對,我一直都很感謝你的這種付出的精神!正是有了你的這種耐心,才使我搞懂了書上一個又一個的程序,讓我現在覺得學著有點成就感了!neo_pang 真的很謝謝你的時間
2017-02-01 19:18:41
讚 20
小女人惪閖厷

小女人惪閖厷

回答數:136  |  被采納數:16



沒關係的 我隻是吃飽了撐著 沒事情做而已!![s:469]
大家互相交流 學習而已!!!
你有會的 可以教教我!!!
這些基礎的東西 我有很多也忘記的差不多了!!!嗬嗬!!!
2017-02-01 17:11:28
讚 13
麥克摘個腎

麥克摘個腎

回答數:68  |  被采納數:31

回6樓:這樣看起來容易理解多了 不過還有些不是很懂,容我再研究研究!
2017-02-01 10:08:17
讚 6
相關問答
最新其他問答
解決方法