Javaでアナグラムプログラムを実装する簡単な方法



この記事では、例を使用して、Javaでアナグラムプログラムを実装する方法に関する詳細で包括的な知識を提供します。

特にJavaでは、文字列を使用して驚異的なことができます。この記事では、JavaでAnagramプログラムを次の順序で実装する方法を説明します。

アナグラムとは何ですか?

アン アナグラム は、別の単語の文字を再配置またはシャッフルすることによって形成される単語です。アナグラムの最も重要な特性は、すべての文字を1回だけ使用する必要があることです。たとえば、人気のあるアナグラムを見てみましょう。 聴く のアナグラムです サイレント





Anagram-Program-in-Java

このJavaのアナグラムプログラムでは、2つの文字列がアナグラムであるかどうかを確認するためのいくつかの可能な方法を調べます。



sort()およびequals()メソッドを使用したJavaのアナグラムプログラム

まず、指定された2つの文字列からすべての空白を削除して入力をクリーンアップし、両方の文字列のすべての文字の大文字と小文字を小文字に変更して、両方の入力文字列の大文字と小文字が無視されるようにします。入力文字列をクリーンアップした後、それらを文字配列に変換し、を使用して並べ替えます sort()メソッド java.util.Arraysクラスの。

並べ替え後、を使用して両方の配列を比較します equals()メソッド 同じ配列クラスの。このメソッドは、両方の配列に同じ文字セットがある場合にtrueを返します。以下は、sort()メソッドとequals()メソッドを使用した完全なアナグラムプログラムです。

public class AnagramProgram {static void isAnagram(String s1、String s2){// s1とs2からすべての空白を削除するStringcopyOfs1 = s1.replaceAll( 's'、 '')String copyOfs2 = s2.replaceAll( 's'、 '')//ステータスを最初にtrueに設定boolean status = true if(copyOfs1.length()!= copyOfs2.length()){// copyOfs1とcopyOfs2の長さが同じでない場合にステータスをfalseに設定status = false} else {// copyOfs1とcopyOfs2の両方の文字の大文字と小文字を変更し、それらをchar配列に変換しますchar [] s1Array = copyOfs1.toLowerCase()。toCharArray()char [] s2Array = copyOfs2.toLowerCase()。toCharArray()// s1Arrayとs2Arrayの両方を並べ替えるArrays.sort(s1Array)Arrays.sort(s2Array)// s1Arrayとs2Arrayが等しいかどうかを確認するstatus = Arrays.equals(s1Array、s2Array)} //出力if(status){System.out.println (s1 + 'および' + s2 + 'はアナグラム')} else {System.out.println(s1 + 'および' + s2 + 'はアナグラムではありません')}} public static void main(String [] args){isAnagram( 'Mother法律では」、「ヒットラーウーマン」) isAnagram( 'keEp'、 'peeK')isAnagram( 'SiLeNt CAT'、 'LisTen AcT')isAnagram( 'Debit Card'、 'Bad Credit')isAnagram( 'School MASTER'、 'The ClassROOM')isAnagram( 'DORMITORY '、'ダーティルーム ')isAnagram(' ASTRONOMERS '、' NO MORE STARS ')isAnagram(' Toss '、' Shot ')isAnagram(' joy '、' enjoy ')}}

anagram-program-in-java



2つの文字列が配列を使用してアナグラムであるかどうかを確認します

これは、すべての方法の中で最も単純です。ユーザーから文字列を取得した後、最初に行う必要があります すべて削除する インクルード 空白 そして 変換する それらを 小文字 大文字と小文字を区別しない比較の場合。今それらをに変換します 文字配列 そして ソート それら アルファベット順 。ただ 比較する 両方のアレイには 同じ要素

ジャストインタイムコンパイラjava
package com.javainterviewpoint import java.util.Arrays import java.util.Scanner public class AnagramChecker {public static void main(String [] args){Scanner Scanner = new Scanner(System.in)//ユーザーから入力文字列を取得するSystem.out.print( '最初の文字列を入力してください:')String s1 = Scanner.nextLine()System.out.print( '2番目の文字列を入力してください:')String s2 = Scanner.nextLine()if(checkAnagram(s1、 s2))System.out.println(s1 + 'および' + s2 + 'はアナグラム')else System.out.println(s1 + 'および' + s2 + 'はアナグラムではありません')scanner.close()} public static boolean checkAnagram( String s1、String s2){//すべての空白を削除s1 = s1.replaceAll( 's'、 '')s2 = s2.replaceAll( 's'、 '')//両方の長さが一致するかどうかを確認if(s1 .length()!= s2.length())return false else {//両方の文字列を小文字と文字配列に変換しますchar [] arr1 = s1.toLowerCase()。toCharArray()char [] arr2 = s2.toLowerCase ().toCharArray()//両方の文字列を並べ替えるArrays.sort(arr1)Arrays.sort(arr2)//チェックする両方の配列は等しいリターンです(Arrays.equals(arr1、arr2))}}}
anagram-program-in-java

これで、Javaでのこのアナグラムプログラムの記事は終わりです。アナグラムとは何か、Javaでアナグラムプログラムを作成する方法を理解していただければ幸いです。

チェックしてください 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。 EdurekaのJavaJ2EEおよびSOAトレーニングおよび認定コースは、Java開発者になりたい学生および専門家向けに設計されています。このコースは、Javaプログラミングをすぐに開始できるように設計されており、HibernateやSpringなどのさまざまなJavaフレームワークに加えて、コアと高度なJavaの両方の概念についてトレーニングします。

質問がありますか?この「Javaのアナグラムプログラム」ブログのコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。