我對Java相當陌生,花了幾個小時試圖弄清楚這個作業問題,但我還沒弄明白。這就是:
爲重載的一個參數的靜態方法money完成以下定義,該方法返回一個表示其參數的字符串作爲金額。例如,Java中的重載方法(EMACS)
如果輸入是雙精度型2.5,則返回字符串「$ 2.50」;
如果輸入是int 6,則返回字符串「$ 6.00」;和
如果輸入是字符串「6.125」,則返回字符串「$ 6.13」。
我的課程使用EIMACS,大多數學生都鄙視它,它允許在編碼時使用一些簡單的快捷方式,但通常比有益更有害。到目前爲止,我已經得到了這個:
public static String money(int n)
{
double a = Integer.parseInt(n);
return money(n);
}
public static String money(double d)
{
double b = Double.parseDouble(d);
return money(d);
}
public static String money(String s)
{
return money(s);
}
public static void main(String[] args)
{
System.out.println(money(2.5));
}
有人能幫我找出我做錯了什麼嗎?謝謝!
那麼你的問題是什麼? (雖然有一個明顯的問題,但我不會說,你有責任清楚地問問題) – 2014-12-05 01:35:55
所有的方法都在調用它們自己,因此創建了一個無限循環 - 重新思考你想要這些方法返回的內容。 – 2014-12-05 01:36:04
爲什麼你仍然需要解析一個已經是double的double值?與Int相同。當你編譯程序時,錯誤信息應該是自我解釋。 – 2014-12-05 01:38:31