English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 튜토리얼

Java 흐름 제어

Java 배열

Java 방향 객체(I)

Java 방향 객체(II)

Java 방향 객체(III)

Java 예외 처리

resources

Java 리스트(List)

Java Queue(큐)

Java Map集合

Java Set集合/Java 입력 출력(I

O 스트림/Java Reader

Writer

신기능

Java 예제 전체

Java 프로그램은 두 문자열이 알파벳 바꿈어词典(동일한 알파벳 순서로 다름)인지 확인

이 예제에서는 Java에서 두 문자열이 알파벳 바꿈어词典(anagram)인지 확인할 것입니다. 이는 특정 단어나 문장의 알파벳 순서를 바꾸어 새 단어나 문장을 만드는 것을 말합니다.또한, 문자열을 다른 문자열의 문자를 정렬하여 만들 수 있다면 두 문자열은 패러도ックス라고 말할 수 있습니다. 예를 들어 Race Care

예제1:두 문자열이 알파벳 바꿈어词典인지 확인하는 Java 프로그램

import java.util.Arrays;
class Main {
  public static void main(String[] args) {
    String str1 = "Java";
    String str2 = "Vaaj";
    //둘의 길이가 같은지 확인
    if(str1.length() == str2.length()) {
      //문자열을 문자 배열로 변환합니다
      char[] charArray1 = str1.toCharArray();
      char[] charArray2 = str2.toCharArray();
      //문자 배열을 정렬합니다
      Arrays.sort(charArray1);
      Arrays.sort(charArray2);
      //정렬된 문자 배열이 같으면
      //그 문자열은 anagram입니다
      boolean result = Arrays.equals(charArray1, charArray2);
      if(result) {
        System.out.println(str1 + "과" + str2 + "이 문자열은 알파벳 이성어입니다.");
      }
      else {
        System.out.println(str1 + "과" + str2 + "이 문자열은 알파벳 이성어가 아닙니다.");
      }
    }
  }
}

출력 결과

Java와 Vaaj는 알파벳 바꿈어词典입니다

Java에서는 두 개의 str1와 str2여기서는 str1와 str2알파벳이 같지만 순서가 다른지 확인

이곳에서는

  • str1.toCharArray() - 문자열을 char 배열로 변환합니다

  • Arrays.sort() - 두 문자 배열을 정렬합니다

  • Arrays.equal() - 정렬된 char 배열이 같은지 확인

정렬된 배열이 같으면 문자열이 anagram이 됩니다(알파벳 바꿈어词典).

예제2:사용자로부터 문자열 입력을 받아 문자열이 알파벳 바꿈어词典인지 확인

import java.util.Arrays;
import java.util.Scanner;
class Main {
  public static void main(String[] args) {
    //Scanner 클래스의 객체를 생성합니다
    Scanner input = new Scanner(System.in);
    //사용자 입력을 받습니다
    System.out.print("첫 번째 문자열을 입력하세요: ");
    String str1 = input.nextLine();
    System.out.print("두 번째 문자열을 입력하세요: ");
    String str2 = input.nextLine();
    //둘의 길이가 같은지 확인
    if(str1.length() == str2.length()) {
      //문자열을 char 배열로 변환합니다
      char[] charArray1 = str1.toCharArray();
      char[] charArray2 = str2.toCharArray();
      //char 배열을 정렬합니다
      Arrays.sort(charArray1);
      Arrays.sort(charArray2);
      //정렬된 char 배열이 같으면
      //그렇다면 문자열은 알파벳 이성어입니다
      boolean result = Arrays.equals(charArray1, charArray2);
      if(result) {
        System.out.println(str1 + "과" + str2 + "이 문자열은 알파벳 이성어입니다.");
      }
      else {
        System.out.println(str1 + "과" + str2 + "이 문자열은 알파벳 이성어가 아닙니다.");
      }
    }
    input.close();
  }
}

출력 결과

첫 번째 문자열을 입력하세요: Race
두 번째 문자열을 입력하세요: Care
Race와 Care는 알파벳 이성어입니다

위의 예제에서는Scanner클래스는 사용자로부터 입력을 받습니다. 여기서는 사용자가 제공한 문자열이 알파벳 이성어인지 확인했습니다.

Java 예제 전체