Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

스택을 사용하여 문자열을 뒤집는 Java 프로그램

<시간/>

이 기사에서는 스택을 사용하여 문자열을 뒤집는 방법을 이해합니다. 문자열은 하나 이상의 문자를 포함하고 큰따옴표(" ")로 묶인 데이터 유형입니다. 스택은 객체 컬렉션을 저장하는 데 사용되는 선형 데이터 구조입니다. LIFO(후입선출)를 기반으로 합니다.

아래는 동일한 데모입니다 -

입력이 다음과 같다고 가정 -

Input string: Java Program

원하는 출력은 -

Reversed string: margorP avaJ

알고리즘

Step 1 - START
Step 2 - Declare two string values namely input_string and result, a stack value namely stack, and a char value namely reverse.
Step 3 - Define the values.
Step 4 - Iterate over each characters of the string using a for-loop and push each character to the stack using ‘push’ keyword.
Step 5 - Now, pop each of the elements in the stack using ‘pop’ keyword and assign it to the result string.
Step 6 - Display the result
Step 7 - Stop

예시 1

여기에서 모든 작업을 'main' 기능 아래에 묶습니다.

import java.util.*;
public class ReverseString {
   public static void main(String[] args) {
      System.out.println("Required packages have been imported");
      String input_string = "Java Program";
      System.out.println("The string is defined as " +input_string);
      char[] reverse = new char[input_string.length()];
      Stack<Character> stack = new Stack<Character>();
      for (int i = 0; i < input_string.length(); i++) {
         stack.push(input_string.charAt(i));
      }
      int i = 0;
      while (!stack.isEmpty()) {
         reverse[i++] = stack.pop();
      }
      String result = new String(reverse);
      System.out.println("\nThe reversed string is: " + result);
   }
}

출력

Required packages have been imported
The string is defined as Java Program

The reversed string is: margorP avaJ

예시 2

여기에서 객체 지향 프로그래밍을 나타내는 함수로 작업을 캡슐화합니다.

import java.util.*;
public class ReverseString {
   public static String reverse_string(String input_string) {
      char[] reverse = new char[input_string.length()];
      Stack<Character> stack = new Stack<Character>();
      for (int i = 0; i < input_string.length(); i++) {
         stack.push(input_string.charAt(i));
      }
      int i = 0;
      while (!stack.isEmpty()) {
         reverse[i++] = stack.pop();
      }
      return new String(reverse);
   }
   public static void main(String[] args) {
      System.out.println("Required packages have been imported");
      String input_string = "Java Program";
      System.out.println("The string is defined as " +input_string);
      System.out.println("\nThe reversed string is: " + reverse_string(input_string));
   }
}

출력

Required packages have been imported
The string is defined as Java Program

The reversed string is: margorP avaJ