課程
/后端開發
/Java
/Java入門第二季 升級版
如圖。請教一下各位,為何最后輸入信息之后,輸出的值始終為零呢?
2018-11-07
源自:Java入門第二季 升級版 10-3
正在回答
public?abstract?class?Shape?{ ????public?double?C; ????public?double?S; ????public?abstract?void?Perimeter(); ????public?abstract?void?Area(); }
public?class?Circle?extends?Shape{ ????double?R; ????final?double?PI?=?3.14; ????Circle(double?RR){ ????????this.R?=?RR; ????} ????public?void?Perimeter(){ ????????C?=?2?*?PI?*?R; ????????System.out.println("圓形的周長為"?+?C); ????} ????public?void?Area(){ ????????S?=?PI?*?R?*?R; ????????System.out.println("圓形的面積為"?+?S); ????} }
public?class?Rectangle?extends?Shape{ ????double?l; ????double?d; ????Rectangle(double?ll,?double?dd){ ????????this.l?=?ll; ????????this.d?=?dd; ????} ????public?void?Perimeter(){ ????????C?=?2?*?(l?+?d); ????????System.out.println("矩形的周長為"?+?C); ????} ????public?void?Area(){ ????????S?=?l?*?d; ????????System.out.println("矩形的面積為"?+?S); ????} }
import?java.util.Scanner; public?class?Test?{ ????public?static?void?main(String[]?args){ ????????Scanner?input?=?new?Scanner(System.in); ????????System.out.println("請輸入矩形的長和寬"); ????????double?l?=?input.nextDouble(); ????????double?d?=?input.nextDouble(); ????????Shape?sp1?=?new?Rectangle(l,?d); ????????sp1.Perimeter(); ????????sp1.Area(); ????????System.out.println("請輸入圓形的半徑"); ????????double?r?=?input.nextDouble(); ????????Shape?sp2?=?new?Circle(r); ????????sp2.Perimeter(); ????????sp2.Area(); ????} }
請輸入矩形的長和寬
2
矩形的周長為8.0
矩形的面積為4.0
請輸入圓形的半徑
圓形的周長為12.56
圓形的面積為12.56
抒情卻輸情 提問者
qq_慕姐9261892
俗人_心 回復 qq_慕姐9261892
你那個intial類里面的r是本類中的變量,因為沒有作為參數傳給方法,所以不參與方法的計算的。子類中的長和寬半徑都沒賦值,系統賦值0。
就是因為你原來的代碼里面沒有地方沒有給賦值
應該是里面的變量沒有給賦新值,用的就是默認的值0,這樣無論輸入什么數值,輸出都是0
雀雀you 回復 抒情卻輸情 提問者
雀雀you 回復 雀雀you
抒情卻輸情 提問者 回復 雀雀you
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
2 回答請教各位大神,一下對象怎解
2 回答多謝各位大神
1 回答求各位大神講解
2 回答求各位大神幫忙
2 回答請各位大神幫我看一下
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-11-07
請輸入矩形的長和寬
2
2
矩形的周長為8.0
矩形的面積為4.0
請輸入圓形的半徑
2
圓形的周長為12.56
圓形的面積為12.56
2018-11-24
你那個intial類里面的r是本類中的變量,因為沒有作為參數傳給方法,所以不參與方法的計算的。子類中的長和寬半徑都沒賦值,系統賦值0。
2018-11-09
就是因為你原來的代碼里面沒有地方沒有給賦值
2018-11-08
應該是里面的變量沒有給賦新值,用的就是默認的值0,這樣無論輸入什么數值,輸出都是0