English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java 프로그램은 두 문자열이 알파벳 바꿈어词典(동일한 알파벳 순서로 다름)인지 확인
이 예제에서는 Java에서 두 문자열이 알파벳 바꿈어词典(anagram)인지 확인할 것입니다. 이는 특정 단어나 문장의 알파벳 순서를 바꾸어 새 단어나 문장을 만드는 것을 말합니다.또한, 문자열을 다른 문자열의 문자를 정렬하여 만들 수 있다면 두 문자열은 패러도ックス라고 말할 수 있습니다. 예를 들어 Race 와Care
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이 됩니다(알파벳 바꿈어词典).
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클래스는 사용자로부터 입력을 받습니다. 여기서는 사용자가 제공한 문자열이 알파벳 이성어인지 확인했습니다.