我有一個方法rand2()
0123h隨機。遞歸函數有多少個基本情況?
我想創建一個方法 rand3()
將使用rand2()
和return 0,1,2
以相等的概率。
我想出了一個遞歸解決方案,考慮4個0,1的組合。
總而言之,我寫了這個函數,有超過1個基本情況,希望它能起作用。
但似乎recusive函數不能有多個基本情況。
這裏是我的代碼:
public static int rand3(){
String str = "";
str+= rand2();
str+= rand2();
System.out.println(str);
if(str=="00")
return 0;
else if(str=="11")
return 1;
else if(str=="01")
return 2;
else
return rand3();
}
我缺少什麼?
'RAND2()+ RAND 2();這個等式給出了1 0 2 1不唯一。但是2 * rand2()+ rand2();這一個給出了0 1 2 3唯一合適的基本情況是'if(randSum <3)return randSum;'它的工作;這是你想過的嗎? –
是的。這就是我暗示的。 –