How do I prevent an endless loop? Printing a string backwards can be done
Question:
How do I prevent an endless loop?
Printing a string backwards can be done iteratively or recursively. To do it recursively, think of the following specification:
If s contains any characters (i.e., is not the empty string)
???? print the last character in s
???? print s' backwards, where s' is s without its last character
Design program named Backwards.java which prompts the user for a string, then calls method printBackwards() to print the string backwards using ONLY recursion.
You can create this program yourself, or use the code on the next page for help:
// ******************************************************************
// Backwards.java Uses a recursive method to print a string backwards.
// ******************************************************************
import java.util.Scanner;
public class Backwards
{
//--------------------------------------------------------------
// Reads a string from the user and prints it backwards.
//--------------------------------------------------------------
public static void main(String[] args)
{
String msg;
Scanner scan = new Scanner (System.in);
System.out.print("Enter a string: ");
msg = scan.nextLine();
System.out.print("\nThe string backwards: ");
printBackwards(msg);
System.out.println();
}
//--------------------------------------------------------------
// Takes a string and recursively prints it backwards.
//--------------------------------------------------------------
public static void printBackwards(String s)
{
// CHECK FOR BASE CASE
// FIND THE INDEX OF THE LAST LETTER
// PRINT THE LAST LETTER TO THE CONSOLE (NOT ON A NEW LINE)
// CALL THE RECURSION FUNCTION, PASSING A SUBSTRING OF THE STRING
// WITHOUT THE LAST LETTER
}
}
Income Tax Fundamentals 2013
ISBN: 9781285586618
31st Edition
Authors: Gerald E. Whittenburg, Martha Altus Buller, Steven L Gill