精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網站建設資訊

NEWS

網站建設資訊

怎么使用Java遞歸

這篇文章主要介紹“怎么使用Java遞歸”,在日常操作中,相信很多人在怎么使用Java遞歸問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么使用Java遞歸”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

在平陽等地區,都構建了全面的區域性戰略布局,加強發展的系統性、市場前瞻性、產品創新能力,以專注、極致的服務理念,為客戶提供網站建設、做網站 網站設計制作按需設計網站,公司網站建設,企業網站建設,品牌網站建設,成都營銷網站建設,成都外貿網站制作,平陽網站建設費用合理。

publicinterfaceReverser { publicString reverse(String str);

在Java中,***的實現就是用JDK中StringBuffer的反轉方法,它不僅速度快,效率高,而且還知道如何處理unicode代理對(surrogate pairs)。其它方案基本上都可以忽略掉。

publicclassJdkReverser implementsReverser {  publicString reverse(String str) { if((null== str) || (str.length() <= 1)) { returnstr; } returnnewStringBuffer(str).reverse().toString();

不僅選擇把趣味性地實現當做一種答案,而且候選者有沒有重用JDK,或者告訴你“JDK中有那么些東西是可以去實現的”,哪一種好呢,google一下可以幫你找到JDK的解決方案,你總不希望開發者實現一切。

處理問題:

問他代碼中什么地方有bug,即使沒有。或者代碼怎么會報錯,他的答案至少可以引出一個討論關于如何處理空值的話題來。

 返回null
 返回“”
 拋出NullPointerException
 拋出IllegalArgumentException

第二個討論的焦點是是如何去優化解決方法,像返回字符串本省“”,長度為1的字符串(本省就是反轉)

遞歸(Recursion):

之后要求應聘者在反轉的問題上寫一個遞歸的方案(這至少是漂亮的,但至少可用)

publicString reverse(String str) { if((null== str) || (str.length()  <= 1)) { returnstr; } returnreverse(str.substring(1)) + str.charAt(0);

有些開發人員在腦海中想不到處理遞歸,或者需要時間和一些提示。那些不能處理遞歸的很有可能對于復雜的問題沒法完成。

你可以問他們關于遞歸方案的效率,詢問尾(Tail)遞歸,詢問 “+”操作的效率,如何處理,關于為什么String都是不可變的(至少在大多時候這么問),反轉“Stephan”時,問候選者有多少個字符串對象創建。在討論中,開發者說“Easy”,他在整個大學都在用Lisp語言,之前我還不知道, 現在聽起來真是個極好的消息。你還可以詢問在上面代碼結束遞歸的停止條件。

更多的方案:

在適當的位置調動StringBuffer:

publicString reverse(String str) { if((null== str) || (str.length()  <= 1)) { returnstr; } StringBuffer result = newStringBuffer(str); for(inti = 0; i < (str.length() / 2); i++) { intswapIndex = str.length() - 1- i; charswap = result.charAt(swapIndex); result.setCharAt(swapIndex, result.charAt(i)); result.setCharAt(i, swap); } returnresult.toString();

采用調用數組的方法:

publicString reverse(String str) { if((null== str) || (str.length() <= 1)) { returnstr; } char[] chars = str.toCharArray(); intright = chars.length - 1; for(intleft = 0; left < right; left++) { charswap = chars[left]; chars[left] = chars[right]; chars[right--] = swap; } returnnewString(chars);

SringBuffer追加的方法:

publicString reverse(String str) { if((null== str) || (str.length() <= 1)) { returnstr; } StringBuffer reverse = newStringBuffer(str.length()); for(inti = str.length() - 1; i >= 0; i--) { reverse.append(str.charAt(i)); } returnreverse.toString();

到此,關于“怎么使用Java遞歸”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!


標題名稱:怎么使用Java遞歸
文章來源:http://m.jcarcd.cn/article/isgejp.html
主站蜘蛛池模板: 不卡一区二区 | 日本阿v免视频 | 国产亚洲精品在天 | 国子监来了个女弟子 | 日本欧美视频在线 | 日本乱码伦视频免 | 日本高清视频网址 | 成人影视在线看 | 精品国产自在现线看 | 国产你懂 | 91精品国产mcu| 欧美日韩在线不卡 | 老汉色影院首页 | 日本乱码伦视频免 | 日韩一区二区 | 国内揄拍国| 91视频导航| 久涩导航 | 国产日韩一区欧美 | 精品一区二 | 日本在线成人短视频 | 国产综合日韩 | 爱豆传媒免费播放 | 国产我和 | 国产免费观看大片黄 | 国产在线视频专区 | 区一区二不卡 | 日韩经典视频 | 欧洲乱码伦网站 | 国产影视三级乱伦 | 最新国产拍偷乱偷 | 日本在线看片网站 | 九七电影网在线 | 91免费在| 欧洲自拍拍偷综合 | 91视频观看 | 国产福利写真视 | 日韩一级大片亚洲 | 国产日产欧美一区 | 国产男女猛烈 | 黑人操中国女人 |