我不能找到這個練習的解決方案,這裏是任務:遞歸helper方法
(數組中的指定字符的出現)編寫 認定的出現的次數遞歸方法數組中的指定字符。 您需要 定義以下兩種方法。第二個是遞歸輔助方法。
公共靜態詮釋計數(CHAR []字符,字符CH)
公共靜態詮釋計數(燒焦[]字符,字符CH,INT高)
編寫提示用戶的測試程序在一行中輸入一個字符列表, 和一個字符,並在列表中顯示該字符的出現次數。
1)我能解決這個問題只有當我添加另一個參數(INT指數),但我怎麼能做到這一點無需增加其他參數或使用循環?
2)爲什麼輔助方法在那裏?我不明白遞歸中輔助方法的目的。
這裏是我的解決方案:
package occurencesinarray;
import java.util.Scanner;
public class Start {
public static void main(String[] args){
System.out.println("Enter few characters: ");
Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
char[] chars = new char[s.length()];
for(int i = 0; i < s.length(); i++){
chars[i] = s.charAt(i);
}
System.out.println("Enter desired character: ");
char ch = scan.nextLine().charAt(0);
System.out.println(count(chars, ch));
}
public static int count(char[] chars, char ch){
return count(chars, ch, 0, 0);
}
public static int count(char[] chars, char ch, int high, int index){
if(index == chars.length){
return high;
}
if(chars[index] == ch){
return count(chars, ch, high + 1, index + 1);
} else{
return count(chars, ch, high, index + 1);
}
}
}