Welcome to the Java Programming Forums

The professional, friendly Java community. 21,500 members and growing!

The Java Programming Forums are a community of Java programmers from all around the World. Our members have a wide range of skills and they all have one thing in common: A passion to learn and code Java. We invite beginner Java programmers right through to Java professionals to post here and share your knowledge. Become a part of the community, help others, expand your knowledge of Java and enjoy talking with like minded people. Registration is quick and best of all free. We look forward to meeting you.

>> REGISTER NOW TO START POSTING

# Thread: Problem with recursive method. Can you help?

1. ## Problem with recursive method. Can you help?

The point of my code is to find the answer of logbn. I am stuck on the part where a is incremented. I'm not exactly sure where to increment it because every value input will return 1. Any advice? Thanks!
So here is my code.

/**
* Calculates base-b log of n recursively
* @param b the base of the logarithm to be found
* @param n the value whose logarithm is being found
* @return base b log of n
* Pre-Condition: n must be integer multiple of b
* @since Lesson 6-4
* @version 12-6-11
* @author TFLeGacY
*/
public int log(int b, int n)
{ int a = 0;
if(n / b == 1)
return 1;
else
{ log(b, n = n / b);
a++;
}
return a;
}

2. ## Re: Problem with recursive method. Can you help?

One of your problems could be due to integer division. There are no fractions. 10/6 = 1

3. ## The Following User Says Thank You to Norm For This Useful Post:

TFLeGacY (December 6th, 2011)

4. ## Re: Problem with recursive method. Can you help?

Another problem could be the lack of storing return values

5. ## The Following User Says Thank You to Freaky Chris For This Useful Post:

TFLeGacY (December 6th, 2011)

6. ## Re: Problem with recursive method. Can you help?

The OP needs to post the algorithm that the code is supposed to implement.

7. ## The Following User Says Thank You to Norm For This Useful Post:

TFLeGacY (December 6th, 2011)

8. ## Re: Problem with recursive method. Can you help?

Thanks so much for the help you guys! It got it working great! In case you were curious, here is the code that calculates the base-b log of n.

public int log(int b, int n)
{ if(n / b == 1)
return 1;
else
{ return 1 + log(b, n = n / b);
}
}

9. ## Re: Problem with recursive method. Can you help?

You should be aware that your solution whilst working has a couple of redundant features, I'd recommend having a think about what they might be if you want to excel in programming and problem solving

Chris

10. ## Re: Problem with recursive method. Can you help?

@Freaky Chris, the last post I put up was the exact answer for my homework. I do plan on excelling in programming and I just wanted to let you know that this code was simply an assignment.