[問題] 不定長度引數造成的overflow

看板java作者 (水餃)時間12年前 (2011/09/13 11:56), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
目前在練習不定常數引數的使用方法, 但照著書本打之後發現會出現 Exception in thread "main" java.lang.StackOverflowError google過後發現有可能是過度呼叫函數的問題, 但小弟一直看不出哪裡有重複呼叫,不知道是不是可以麻煩版友們指點一下 小弟謝先!!!! ////////////////////////////// class Calculator { double price; Calculator(double price) { this.price = price; } double CalculatePrice(Land l) { return l.area() * price; } double totalPrice(Land... Lands) { double total = 0; for (Land l : Lands) { * total += totalPrice(l); //問題出現在此 } return total; } } public class poly { public static void main(String[] argv) { Circle c = new Circle(5); Square s = new Square(5); Calculator ca = new Calculator(3000.0); System.out.println("總價值:" + // 使用匿名陣列 ca.totalPrice(new Land[]{c,s})); } //////////////////////////// -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.164.141

09/13 12:38, , 1F
recursive的中斷點沒設好??
09/13 12:38, 1F

09/13 12:54, , 2F
雖然是樓上的問題沒錯 但根本原因是原PO呼叫錯函式了
09/13 12:54, 2F

09/13 12:57, , 3F
給原PO的提示: CalculatePrice 一個人在那邊有點孤單喔 XD
09/13 12:57, 3F

09/13 13:38, , 4F
原來如此,是我眼殘了。謝謝樓上兩位大大的提醒~
09/13 13:38, 4F
文章代碼(AID): #1ERjHl3y (java)