-5
- 我的練習給了我這個作爲原始編碼。
- 然後,他們希望我們做一個java實現它。
- 我以爲我現在無法理解它。
- 這裏有一個地方使用了一個變量「n」,它以某種方式將它全部加起來。
- 這是我真正的問題,除非有更多的可以調試。
我只是想在下週最後一次學習這些東西。如何在Java中編寫ML程序?使用嵌套函數
fun f x y = let val a = x+1 fun g 0 = 0 | g n = let val a = x+y fun h 0 = 0 | h k = a+n+g(n-1) in h (n-1) end in if x = 0 then g y else a + g(f (x-1) y) end
這是我嘗試的程序。
我應該實現的ML代碼的原始版本在上面。
public class f { static double k; static double x; static double y; static double a, a2; static double n; public static double fn(double x, double y) { a = x + 1; if(x == 0) g(y); return a + g(fn((x-1), y)); } public static double g(double n) { if(n == 0) return 0; a2 = (x + y); f.n = h(n-1); return f.n; } public static double h(double k) { if(k==0) return 0; else { k = a2 + n + g(n-1); return k; } } public static void main(String[] args) { /*double arg2[] = null; for (int i = 0; i < args.length; i++) { arg2[i] = Double.parseDouble(args[i]); }*/ fn(2,1); } }
你想做什麼?有什麼問題?請在提問時具體明確。 – progyammer
我不太清楚程序應該做什麼。要麼我在我的一個班級學習ML,這只是一個應該幫助我的練習,但它讓我更加困惑。 –
你是什麼意思你想用Java編寫一個ML程序?你想把ML代碼翻譯成Java嗎? – EJoshuaS