如何編寫可以用Java計(jì)算能力的函數(shù)。無循環(huán)
嘗試遞歸:
int pow(int base, int power){ if(power == 0) return 1; return base * pow(base, --power);}解決方法
我一直在嘗試用Java編寫一個(gè)簡單的函數(shù),該函數(shù)可以不使用循環(huán)就可以計(jì)算出n次方的數(shù)字。然后,我發(fā)現(xiàn) Math.pow(a,b) 類…或方法仍然無法區(qū)分兩者,理論上不太好。所以我寫了這個(gè)
public static void main(String[] args) { int a = 2; int b = 31; System.out.println(Math.pow(a,b)); }
然后,我想制作自己的 Math.pow 而不使用循環(huán),我希望它看起來比循環(huán)更簡單,就像使用某種類型的 Repeat一樣,我做了很多研究,直到遇到遇到使用 StringUtils.repeat 的 commons-lang3 包為止。 到目前為止,我認(rèn)為這是語法: __
public static String repeat(String str,int repeat) StringUtils.repeat('ab',2);
的 問題 我已經(jīng)面臨的 過去24小時(shí) 或更多的是, StringUtils.repeat(字符串str,整數(shù)2);重復(fù)字符串,而不是推銷,數(shù)字或計(jì)算。我可以做些什么來克服這個(gè)問題,還是有其他更好的方法來創(chuàng)建一個(gè)計(jì)算冪的函數(shù)?不使用循環(huán)或Math.pow
這可能很有趣,但是花了我一段時(shí)間才弄清楚 StringUtils.repeat 只重復(fù)字符串,這就是我試圖克服它的方式。萬一有幫助
public static int repeat(int cal,int repeat){ cal = 2+2; int result = StringUtils.repeat(cal,2); return result;}
我可以不使用遞歸,也許這樣的事情
public static RepeatThis(String a){ System.out.println(a); RepeatThis(a);}
只是試圖理解dept中的java謝謝您的所有評論,即使存在語法錯(cuò)誤,只要能理解邏輯對我也有好處 :)
相關(guān)文章:
1. 關(guān)于nginx location配置的問題,root到底是什么2. docker鏡像push報(bào)錯(cuò)3. angular.js - angular內(nèi)容過長展開收起效果4. 關(guān)于docker下的nginx壓力測試5. angular.js - angularjs的自定義過濾器如何給文字加顏色?6. python 怎樣用pickle保存類的實(shí)例?7. 大家好,請問在python腳本中怎么用virtualenv激活指定的環(huán)境?8. python的前景到底有大?如果不考慮數(shù)據(jù)挖掘,機(jī)器學(xué)習(xí)這塊?9. 并發(fā)模型 - python將進(jìn)程池放在裝飾器里為什么不生效也沒報(bào)錯(cuò)10. python2安裝失敗
