Java Project - Program to Reverse a String
Reverse a String using a For Loop and Recursion:
Reverse a String:
Input: A string.
Output: The reversed string.
Example:
- Input: "hello"
- Output: "olleh"
- Input: "Java"
- Output: "avaJ"
Solution 1: Reverse a String using a For Loop
Code:
import java.util.Scanner;
public class ReverseString {
// Method to reverse the string using a for loop
public static String reverseUsingLoop(String input) {
String reversed = ""; // Initialize an empty string to store the reversed result
// Loop through the string from the last character to the first
for (int i = input.length() - 1; i >= 0; i--) {
reversed += input.charAt(i); // Append each character to the reversed string
}
return reversed; // Return the reversed string
}
// Main method to take user input and display the reversed string
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Taking user input
System.out.print("Enter a string: ");
String input = scanner.nextLine();
// Reversing and displaying the result
String reversed = reverseUsingLoop(input);
System.out.println("Reversed string: " + reversed);
scanner.close(); // Close the scanner to prevent resource leakage
}
}
Output:
Enter a string: Java Exercises Reversed string: sesicrexE avaJ
Enter a string: Project Reversed string: tcejorP
Explanation :
- Input: User inputs a string.
- Processing: The program iterates through the string from the last character to the first, appending each character to form a new string.
- Output: The program displays the reversed string.
Solution 2: Reverse a String using Recursion
Code:
import java.util.Scanner;
public class RecursiveReverseString {
// Recursive method to reverse the string
public static String reverseUsingRecursion(String input) {
// Base case: If the string is empty, return an empty string
if (input.isEmpty()) {
return input;
}
// Recursive case: Return the last character + result of the rest of the string reversed
return reverseUsingRecursion(input.substring(1)) + input.charAt(0);
}
// Main method to take user input and display the reversed string
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Taking user input
System.out.print("Enter a string: ");
String input = scanner.nextLine();
// Reversing and displaying the result
String reversed = reverseUsingRecursion(input);
System.out.println("Reversed string: " + reversed);
scanner.close(); // Close the scanner
}
}
Output:
Enter a string: RecursiveReverseString Reversed string: gnirtSesreveRevisruceR
Enter a string: madam Reversed string: madam
Explanation:
- Input: User enters a string.
- Processing: The recursive function processes the string by taking the last character and calling the function again on the rest of the string, building the reversed string step by step.
- Output: The program prints the reversed string.
Java Code Editor:
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/projects/java/java-project-string-reversal.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics