i have three different calls to use my writeVertical method, but for some reason when i run the program, this is what i'm getting:
Call 1: 3
3
Call 2: 2053
3
Call 3: 53209
3
basically, the program isn't running for calls 2 and 3 - i'm sure this is a silly error on my part but how do i fix it?

/* Write a short recursive program (name the class that contains the main method Activity1) that calls a
recursive method (named writeVertical), which in turn takes one (nonnegative) int argument from the
user (prompted at run-time) and writes that int to the screen with the digits going down the screen one per
line from least significant to most significant. Your recursive method should not return any values.
Sample Input to the recursive method:
writeVertical(1234);
Sample Output (from the program):
4
3
2
1
Your implementation should hard-code at least three different calls to the writeVertical method using
different values of differing lengths. One of the calls must be of length (or size) 1 (that is, one digit long).
The other two calls can be of any other lengths, so long as they are of differing lengths. */

import java.util.*;
 
public class Activity1
{
public static void main(String[]args)
{
Scanner user_input = new Scanner( System.in );
int call1=3;
System.out.println("Call 1: " + call1);
String stringValue=Integer.toString(call1);
writeVertical input1 =new writeVertical();
input1.reverseResult(stringValue,0);
 
int call2 = 2053;
System.out.println("Call 2: " + call2);
writeVertical input2 = new writeVertical ();
input2.reverseResult(stringValue,0);
 
int call3 = 53209;
System.out.println("Call 3: " + call3);
writeVertical input3 = new writeVertical ();
input3.reverseResult(stringValue,0);
}
}
 
class writeVertical {
public int reverseResult(String b,int c) {
	if(c==b.length()-1) {
		System.out.println(b.charAt(c));
		return 0;
	}
	else {
		int temp=c;
		c=c+1;
		reverseResult(b,c);
		System.out.println(b.charAt(temp));
		return 0;
	}
}
}