Rekursive Hilfsmethode

ich kann nicht finden die richtige Lösung für diese übung, hier ist die Aufgabe:


(Vorkommen eines angegebenen Zeichens in einem array) Schreiben Sie eine rekursive Methode, die
findet die Anzahl der vorkommen eines angegebenen Zeichens in einem array. Müssen Sie
definieren Sie die folgenden beiden Methoden.
Die zweite ist eine rekursive Hilfsmethode.

public static int count(char[] chars, char ch)

public static int count(char[] chars, char ch, int high)

Schreiben Sie ein test-Programm, das den Benutzer auffordert, geben Sie eine Liste von Zeichen in einer Zeile,
und ein Zeichen und zeigt die Anzahl der vorkommen des Zeichens in der Liste.


1) kann ich es lösen nur wenn ich einen anderen parameter (int index) aber wie kann ich es machen ohne das hinzufügen eines weiteren Parameters, oder mit for-Schleife ?

2.) Warum ist die helper-Methode gibt es? Ich verstehe den Zweck nicht von helper-Methoden in der Rekursion.

Hier ist meine Lösung:

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);
    }
}
}
InformationsquelleAutor Peter | 2014-03-25
Schreibe einen Kommentar