1. Member
Join Date
Dec 2008
Posts
6
Rep Power
0

## Recursive Counting

I have an an exercise for class that I have been working on, trying to teach us recursion. I am able to nearly wrap my head around the subject, but have one small problem left. The program is supposed to take a large integer and a single digit integer, and tell how many times the small int occurs in the large one. This much I can get it to do.

However, it does the counting using a "static int i" that can be accessed by any part of the program, and I would prefer to use the recursion itself to accomplish this.

Here's the code.

Java Code:
```import java.util.*;
public class testCopy
{
static int i=0;
public static void main (String args[])
{

int integer=0;
int digit=0;
Scanner keyboard = new Scanner (System.in);
integer=keyboard.nextInt();
digit=keyboard.nextInt();
System.out.println();
System.out.println("You have chosen integer "+integer+" and digit "+digit+".");
System.out.println();
System.out.println(frequencyCount(integer,digit));
}

public static int frequencyCount(int n,int d)
{

if ((n==0) && (Integer.toString(n).length())==1)
return(i);

else if(n%10==d)
{
i++;
return (frequencyCount(n/10,d) ); //if whatever is equal to d then return whats left plus one more
}
else
return (frequencyCount(n/10,d));
}

}```
Is there some way to use the recursion to do the counting for me?
Any help would be greatly appreciated! Thanks!

2. Senior Member
Join Date
Sep 2008
Posts
564
Rep Power
9
looks like you just need to get used to recursion. trying to make help as obscure as possible, here's some simple straightforward pseudocode to think on:

Java Code:
```if current digit matches
then return recursive call + 1
else return recursive call```

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•