我在嘗試創建一個遞回方法來計算字串中的句點和空格數時遇到了一些麻煩。我可以使用迭代很容易地做到這一點,但我對遞回的概念仍然相當陌生。到目前為止,這是我的代碼,誰能告訴我哪里出錯了?
public static int periodsAndSpaces(String s){ //option 3
if(s.length()<0){ //base case
return 0;
}
else if(s.charAt(0) == ' ' || s.charAt(0) == '.'){ //general case
return periodsAndSpaces(s.substring(1)) 1;
}
return 0;
}
uj5u.com熱心網友回復:
package com.test.demo;
public class Counter {
public static void main(String[] args) {
System.out.println(new Counter().countPeriodsAndSpaces(" test. . .a"));
}
int countPeriodsAndSpaces(String rs) {
if (rs == null || rs.isEmpty())
return 0;
char c = rs.charAt(0);
if (c == ' ' || c == '.')
return 1 countPeriodsAndSpaces(rs.substring(1));
else
return countPeriodsAndSpaces(rs.substring(1));
}
}
// 輸出 6
uj5u.com熱心網友回復:
大家建議的新方法:
public static int periodsAndSpaces(String s){ //option 3
if(s.length()==0){ //base case
return 0;
}
else if(s.charAt(0) == ' ' || s.charAt(0) == '.'){
return periodsAndSpaces(s.substring(1)) 1;
}
else{
return periodsAndSpaces(s.substring(1));
}
}
當字串中沒有更多字符時,方法將停止運行,并且我添加了另一種情況,用于在當前字符中沒有任何一個時添加句點和空格的總和。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/328811.html
上一篇:從動態嵌套陣列生成物件的平面陣列
