Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

In Java using recursion. No Loops. Write a method stutter that accepts a Stack o

ID: 3764475 • Letter: I

Question

In Java using recursion. No Loops.

Write a method stutter that accepts a Stack of integers as a parameter and replaces every value in the stack with two occurrences of that value. For example, suppose a stack stores these values:

Then the stack should store the following values after the method terminates:

Notice that you must preserve the original order. In the original stack the 9 was at the top and would have been popped first. In the new stack the two 9s would be the first values popped from the stack. Also, you must not use any auxillary data structures to solve this problem. If the original stack is empty, the result should be empty as well.

Explanation / Answer

import java.util.Stack;

public class StackDemo
{
public static void main(String args[])
{
int i;
// Create a new, empty stack
Stack lifo = new Stack();
   int[] a=new int[5];
// Let's add some items to it
   String s;
for (i = 1; i <= 5; i++)
{
lifo.push ( new Integer(i) );
}
   i=0;
// Last in first out means reverse order
   System.out.println("Stack before Insertion");
while ( !lifo.empty() )
{
   a[i]=lifo.pop();
      
System.out.println( a[i] );
     
   i++;
}

for (i = 4; i >= 0; i--)
{
lifo.push ( a[i]);
   lifo.push(a[i]);
}
   System.out.println("Stack after Insertion");  
while ( !lifo.empty() )
{
System.out.println( lifo.pop() );
}

// Empty, let's lift off!
System.out.println (" LIFT-OFF!");
}

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote