Java에서 역 문자열을 수행하는 방법은 무엇입니까?

게시 됨: 2023-01-06

문자열은 문자 시퀀스이며 Java에서 객체로 취급됩니다. 문자 배열에 데이터를 저장하는 Java 객체입니다. 반전된 문자열을 반전 문자열이라고 합니다. 예를 들어, '프로그램' 문자열의 역순은 'margorP'입니다.

목차

Java에서 문자열 반전의 논리:

각각 별도의 기능을 사용하여 문자열을 뒤집는 다양한 방법을 사용할 수 있습니다. 사용되는 방법은 다르지만 문자열 반전의 기본 프로세스는 거의 동일합니다. 사용되는 일반적인 논리는 다음과 같습니다.

  • 사용자 입력을 사용하거나 코드에서 문자열을 입력합니다.
  • 마지막 위치에서 시작하는 문자열의 문자를 가져와 임의의 변수에 저장합니다.
  • 출력을 표시합니다.

세계 최고의 대학에서 소프트웨어 개발 과정을 온라인으로 배우십시오. PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 취득하여 경력을 빠르게 쌓으십시오.

Java에서 문자열을 뒤집는 다양한 방법:

  1. StringBuffer 또는 StringBuilder 사용
  2. 역 반복 사용
  3. charAt() 메서드 사용
  4. ArrayList 객체 사용
  5. 재귀 사용
  6. 문자열을 바이트로 변환
  7. 스택 사용

이러한 각 방법을 자세히 살펴보겠습니다.

소프트웨어 엔지니어링에 대한 인기 코스 및 기사

인기 프로그램
소프트웨어 개발의 임원 PG 프로그램 - IIIT B 블록체인 인증 프로그램 - PURDUE 사이버 보안 인증 프로그램 - PURDUE 컴퓨터 과학 MSC - IIIT B
기타 인기 기사
미국의 클라우드 엔지니어 급여 2021-22 미국의 AWS 솔루션 아키텍트 급여 미국의 백엔드 개발자 연봉 미국 프론트엔드 개발자 연봉
미국의 웹 개발자 급여 2022년 스크럼 마스터 인터뷰 질문 2022년 사이버 보안 분야에서 경력을 시작하는 방법은 무엇입니까? 공대생을 위한 미국 취업 옵션

1. StringBuilder / StringBuffer 작성

StringBuffer 또는 StringBuilder 클래스에는 문자열의 문자를 반전시키는 내장 메서드 reverse()가 있습니다. 문자의 순서를 역순으로 대체합니다. 이 메서드는 java에서 문자열을 반전 시키는 논리를 구현하는 정적 메서드입니다 .

StringBuffer 및 StringBuilder는 문자열 조작의 리소스 할당을 관리하는 Java의 두 가지 유틸리티 클래스입니다.

StringBuffer 사용:

StringBuffer를 사용하여 문자열을 반전시키는 Java 프로그램:

공개 클래스 ExampleofReverseString{

공개 정적 무효 메인(문자열[] 인수) {

문자열 str1 = "사과";

//rev 변수에 반전된 문자열 순서를 저장합니다.

String rev = new StringBuffer(str1).reverse().toString();

//뒤집기 전에 문자열을 출력합니다.

System.out.println("\반전 전의 문자열: "+str1);

//반전 후 문자열 출력

System.out.println("반전 후 문자열: "+rev);

}

}

산출:

반전 전 문자열은 다음과 같습니다. Apple

반전 후 문자열: elppA

위의 예에서 입력으로 제공된 문자열은 StringBuffer를 사용하여 버퍼링됩니다. 그런 다음 reverse() 메서드를 사용하여 반전됩니다. 버퍼가 반전된 후 toString() 메서드를 사용하여 문자열로 변환됩니다.

StringBuilder 사용:

StringBuilder 클래스는 StringBuffer 클래스에 비해 매우 선호됩니다. 더 빠르고 동기화되지 않습니다.

StringBuilder를 사용하여 문자열을 뒤집는 Java 프로그램:

공개 클래스 ExampleofReverseString{

공개 정적 무효 메인(문자열[] 인수) {

문자열 str1 = "학교";

//rev 변수에 반전된 문자열을 저장합니다.

String rev = new StringBuilder(str1).reverse().toString();

//뒤집기 전에 문자열을 출력합니다.

System.out.println("\n뒤집기 전의 문자열: "+str1);

//반전 후 문자열 출력

System.out.println("반전 후 문자열: "+rev);

}

}

산출:

뒤집기 전 문자열: School

뒤집기 전 문자열: loohcS

위의 코드에서는 StringBuilder 클래스의 개체가 사용됩니다. 해당 StringBuilder 개체는 메모리 효율적이고 변경 가능하며 실행 속도가 빠릅니다. 개체는 내장된 reverse() 메서드를 호출하여 원하는 출력을 제공합니다.

2. 역반복

Reverse Iteration을 사용하여 문자열을 뒤집는 Java 프로그램:

공개 클래스 StringReversal {

공개 정적 문자열 reverseString(문자열 st){

char ch[]=st.toCharArray();

문자열 레브 =””;

for(int i=ch.length-1;i>=0;i–)

{

레브+=ch[i];

}

수익 반환;

}

}

공개 클래스 TestStringReversal {

공개 정적 무효 메인(문자열[] 인수) {

System.out.println(StringReversal.reverseString("저는 선생님입니다 "));

System.out.println(StringReversal.reverseString("나는 영어 과목을 가르친다"));

}

}

산출:

I ma rehcaet

I hcaet hsilgnE tcejbus

java 역방향 문자열에 대한 위 프로그램 에서 입력 문자열의 문자는 for 루프를 사용하여 마지막 위치부터 시작하여 rev+ 변수에 저장됩니다. 모든 문자가 저장된 후 반전된 문자열이 출력에 표시됩니다.

역방향 반복을 위해 While 루프를 사용할 수 있으며 코드는 다음과 같습니다.

공개 클래스 StringReversal {

공개 정적 무효 메인(String[] args)

{

String stringInput = "이 문자열";

int StrLength=stringInput.length();

동안(StrLength >0)

{

System.out.print(stringInput.charAt(StrLength -1));

StrLength-;

}

}

}

산출:

꽥꽥

3. charAt() 메서드 사용

Java 프로그램은 다음과 같습니다.

공개 클래스 ExampleofReverseString {

공개 정적 무효 메인(문자열[] 인수) {

String str = "자바 배우기";

// revv 변수에 반전된 문자열을 저장합니다.

문자열 revv = "";

// 문자열의 길이는 len에 저장됩니다.

int len=str.length();

for(int i=len-1;i>=0;i-)

revv = revv + str.charAt(i);

//뒤집기 전에 문자열을 출력합니다.

System.out.println("\n반전 연산 전 문자열: "+str);

//반전 후 문자열 출력

System.out.println("반전 후 문자열: "+ revv);

}

}

산출:

반전 작업 전 문자열: Java 배우기

반전 작업 전 문자열: avaJ nraeL

문자열을 뒤집는 Java 프로그램 에서 입력 문자열 문자는 for 루프를 사용하여 마지막 위치부터 시작하여 revv 변수에 저장됩니다. 모든 문자가 저장된 후 반전된 문자열이 출력에 반영됩니다.

4. ArrayList 객체 사용하기

Java 프로그램은 다음과 같습니다.

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

import java.util.ListIterator;

공개 클래스 ExampleofReverseString {

공개 정적 무효 메인(문자열[] 인수) {

String str = "코딩을 즐기세요";

// 입력 문자열을 문자 배열로 변환

char ch[]=str.toCharArray();

//ArrayList의 객체에 문자 배열을 추가합니다.

List<Character> obj = new ArrayList<>();

for (문자 c: ch)

obj.add(c);

//ArrayList의 객체를 컬렉션에 전달합니다.

Collections.reverse(obj);

// listiterator의 객체를 생성하여 목록에서 반복합니다.

ListIterator objnew = obj.listIterator();

//반전 전에 문자열을 출력합니다.

System.out.println("\n반전 연산 전 문자열: "+ str);

//반전 후 문자열 출력

System.out.println("\n반전 연산 후 문자열: ");

동안 (objnew.hasNext())

System.out.print(objnew.next());

}

}

산출:

반전 작업 전 문자열: 즐거운 코딩

반전 작업 후 문자열: gnidoc yojnE

문자열을 뒤집는 Java 프로그램 은 입력 문자열의 문자를 ArrayList 객체에 저장합니다. 컬렉션에서 reverse() 메서드를 사용하여 반전됩니다. 반복자는 목록 전체를 반복하고 반전된 문자열을 출력합니다.

5. 재귀 사용

Java 프로그램은 다음과 같습니다.

공개 클래스 ExampleofReverseString {

// 반전 함수 정의

문자열 회전수(문자열 str) {

// 문자열 길이가 0이면 null 반환

if(str.length() == 0)

{

반품 " ";

}

//그렇지 않으면 다음 메서드의 결과 문자를 반환합니다.

return str.charAt(str.length()-1) + revs(str.substring(0,str.length()-1));

}

공개 정적 무효 메인(문자열[ ] 인수)

{

// 클래스 객체 생성

ExampleofReverseString r = 새로운 ExampleofReverseString();

//입력 문자열

String str = "자바 마스터";

//반전 전에 문자열을 출력합니다.

System.out.println("\n반전 연산 전 문자열: "+ str);

//반전 후 문자열 출력

System.out.println("\n반전 연산 후의 문자열: " + r.revs(str));

}

산출:

반전 작업 전 문자열: Java의 마스터

반전 작업 후 문자열: avaJ ni retsaM

재귀 함수는 이 Java 프로그램에서 생성됩니다. 문자열의 길이와 10번의 반전을 확인합니다. 자바의 역순 함수와 동일하게 작동합니다 .

6. 문자열을 바이트로 변환

입력 문자열을 바이트로 변환하거나 분할하는 getBytes() 메서드를 사용합니다. 이때 바이트 배열 길이는 입력 문자열의 길이와 같습니다. 그런 다음 프로그램은 역순으로 바이트를 가져와 새 바이트 배열에 저장합니다.

다음 코드에서는 바이트 배열이 임시로 생성됩니다. 2바이트 배열이 생성됩니다. 하나는 변환된 바이트를 저장하고 다른 하나는 결과를 역순으로 저장합니다.

Java 프로그램은 다음과 같습니다.

공개 정적 무효 메인(String[] arg) {

문자열 입력값 = "컴퓨터";

byte[] strByteArray = inputvalue.getBytes();

바이트[] 결과 = 새로운 바이트[strByteArray.length];

// 결과를 역순으로 결과에 저장 byte[]

for (int i = 0; i < strByteArray.length; i++)

결과[i] = strByteArray [strByteArray.length – i – 1];

System.out.println( "역 연산 후 문자열은:" +new String(result));

}

산출:

역방향 작업 후의 문자열은 다음과 같습니다. retupmoC

7) 스택 사용

이 방법은 스택 데이터 구조를 사용하여 Java 문자열을 반전하는 다음 단계를 포함합니다.

  1. 문자 없이 스택을 만듭니다.
  2. String.toCharArray() 메서드를 사용하여 입력 문자열을 문자 배열로 변환합니다. 그런 다음 각 문자를 스택에 추가합니다.

iii. 비어 있을 때까지 스택에서 문자를 검색한 다음 문자를 문자 배열에 다시 할당합니다. 이제 문자가 역순으로 도착합니다.

  1. 문자 배열은 String.copyValueOf(char[])를 사용하여 문자열로 변환되고 최종적으로 새 문자열을 반환합니다.

Java 프로그램은 다음과 같습니다.

import java.util.Stack;

클래스 메인

{

공개 정적 문자열 반전(문자열 str)

{

// 문자열이 비어 있는지 null인지 확인

if (str == null || str.equals("")) {

반환 str;

}

// 빈 문자 스택 생성

Stack<문자> stack = new 스택<문자>();

// 입력 문자열의 모든 문자를 스택에 추가합니다.

char[] ch = str.toCharArray();

for (int i = 0; i < str.length(); i++) {

stack.push(ch[i]);

}

// 인덱스 0부터 시작

정수 m = 0;

// 스택이 비워질 때까지 스택에서 문자를 검색합니다.

동안 (!stack.isEmpty())

{

// 검색된 각 문자를 다시 문자 배열에 할당합니다.

ch[m++] = stack.pop();

}

// 문자 배열을 문자열로 변환하고 반환

return String.copyValueOf(ch);

}

공개 정적 무효 메인(String[] args)

{

String str = "기술 혁신";

str = 반전(str);

System.out.println("입력 문자열의 역순: " + str);

}

}

산출

입력 문자열의 반대: ygolonhceT noitavonnI

UpGrad로 Java 여정 시작하기

Java를 배우려면 Core Java 개념을 이해해야 합니다. 이를 위해 UpGrad의 컴퓨터 과학 석사 과정을 밟을 수 있습니다 . Core Java, OOPS 개념, Java의 객체 및 클래스, Java의 메소드, Java Virtual Machine, 다형성, 상속, 추상화, 캡슐화 등과 같은 주제를 다룹니다. 업계 전문가의 지침을 받게 됩니다. 이 전문가들은 커리큘럼 및 고급 주제를 다루는 대화형 라이브 세션을 진행합니다.

Java에서 문자열을 뒤집는 가장 간단한 방법은 무엇입니까?

Java에서 문자열을 뒤집는 가장 간단한 방법은 StringBuffer 클래스를 사용하는 것입니다. 기존 StringBuffer 객체의 내용을 반전시키고 출력 StringBuffer 객체를 반환하는 reverse()라는 메서드를 지원합니다.

Java의 재귀 방법이란 무엇입니까?

자기 자신을 호출하는 메서드를 Java에서는 재귀 메서드라고 합니다. 해당 프로세스를 재귀라고 합니다.

Java에서 String의 응용 프로그램은 무엇입니까?

Java에서 문자열은 코드에서 표절을 탐지하는 데 사용할 수 있습니다. 발신자에서 수신자로의 안전한 데이터 전송을 위해 인코딩 및 디코딩에 사용할 수 있습니다. 문자열 애플리케이션은 익명의 데이터 소스에서 정보를 검색하는 데 도움이 됩니다. 또한 문자열 및 해당 알고리즘 응용 프로그램은 대략적인 접미사-접두사 겹침 문제를 해결하기 위해 개선된 필터를 제공합니다.