Một cách dễ dàng để triển khai Chương trình Anagram trong Java



Bài viết này sẽ cung cấp cho bạn kiến ​​thức chi tiết và toàn diện về cách triển khai chương trình đảo chữ trong java với các ví dụ minh họa.

Điều kỳ diệu có thể được thực hiện với Chuỗi, đặc biệt là trong Java. Trong bài viết này, chúng ta sẽ xem cách triển khai chương trình Anagram trong Java theo thứ tự sau:

Anagram là gì?

An Đảo chữ cái là một từ được hình thành bằng cách sắp xếp lại hoặc xáo trộn các chữ cái trong một từ khác, tính chất quan trọng nhất trong Anagram là tất cả các chữ cái chỉ được sử dụng một lần. Ví dụ: hãy sử dụng phép đảo chữ phổ biến, NGHE là một phép đảo ngữ của SILENT .





Anagram-Program-in-Java

đặt đường dẫn lớp cho java

Trong Chương trình đảo chữ trong Java này, chúng ta sẽ xem xét một số cách khả thi để kiểm tra xem hai Chuỗi có phải là Đảo chữ hay Không.



Chương trình đảo chữ trong Java Sử dụng phương thức sort () và equals ()

Đầu tiên, chúng tôi làm sạch đầu vào bằng cách xóa tất cả khoảng trắng khỏi hai chuỗi đã cho và thay đổi chữ hoa của tất cả các ký tự của cả hai chuỗi thành chữ thường để trường hợp của cả hai chuỗi đầu vào sẽ được bỏ qua. Sau khi làm sạch các chuỗi đầu vào, chúng tôi chuyển đổi chúng thành mảng ký tự và sắp xếp chúng bằng cách sử dụng phương thức sort () của lớp java.util.Arrays.

Sau khi sắp xếp, chúng tôi so sánh cả hai mảng bằng cách sử dụng phương thức equals () của cùng một lớp Mảng. Phương thức này sẽ trả về true nếu cả hai mảng có cùng một bộ ký tự. Dưới đây là chương trình đảo ngữ hoàn chỉnh sử dụng phương thức sort () và equals ().

chuyển đổi nhị phân sang thập phân trong java
public class AnagramProgram {static void isAnagram (String s1, String s2) {// Xóa tất cả khoảng trắng khỏi s1 và s2 String copyOfs1 = s1.replaceAll ('s', '') String copyOfs2 = s2.replaceAll ('s', '') // Ban đầu đặt trạng thái là true trạng thái boolean = true if (copyOfs1.length ()! = CopyOfs2.length ()) {// Đặt trạng thái là false nếu copyOfs1 và copyOfs2 không có cùng độ dài trạng thái = false} else {// Thay đổi trường hợp ký tự của cả copyOfs1 và copyOfs2 và chuyển đổi chúng thành mảng char [] s1Array = copyOfs1.toLowerCase (). toCharArray () char [] s2Array = copyOfs2.toLowerCase (). toCharArray () // Sắp xếp cả s1Array và s2Array Arrays.sort (s1Array) Arrays.sort (s2Array) // Kiểm tra xem s1Array và s2Array có trạng thái bằng nhau hay không = Arrays.equals (s1Array, s2Array)} // Xuất if (status) {System.out.println (s1 + 'và' + s2 + 'là đảo chữ')} else {System.out.println (s1 + 'và' + s2 + 'không phải là đảo chữ')}} public static void main (String [] args) {isAnagram ('Mẹ In Law ',' Người phụ nữ Hitler ') isAnagram ('keEp', 'peK') isAnagram ('SiLeNt CAT', 'LisTen AcT') isAnagram ('Debit Card', 'Bad Credit') isAnagram ('School MASTER', 'The ClassROOM') isAnagram ('DORMITORY ',' Dirty Room ') isAnagram (' ASTRONOMERS ',' NO MORE STARS ') isAnagram (' Toss ',' Shot ') isAnagram (' joy ',' enjoy ')}}

anagram-program-in-java



Kiểm tra xem hai chuỗi có phải là đảo chữ hay không bằng cách sử dụng mảng

Đây là phương pháp đơn giản nhất trong tất cả các phương pháp. Sau khi nhận được chuỗi từ người dùng và trước tiên chúng ta cần bỏ tất cả các khoảng trắngđổi họ vào chữ thường để so sánh không phân biệt chữ hoa chữ thường. Bây giờ chuyển đổi chúng thành một mảng ký tựsắp xếp họ theo thứ tự bảng chữ cái . Chỉ đối chiếu cả hai mảng đều có các yếu tố giống nhau .

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) // Lấy chuỗi nhập từ người dùng System.out.print ('Nhập chuỗi đầu tiên:') String s1 = scanner.nextLine () System.out.print ('Nhập chuỗi thứ hai:') String s2 = scanner.nextLine () if (checkAnagram (s1, s2)) System.out.println (s1 + 'và' + s2 + 'là Anagrams') else System.out.println (s1 + 'và' + s2 + 'KHÔNG phải là Anagrams') scanner.close ()} public static boolean checkAnagram ( String s1, String s2) {// Xóa tất cả khoảng trắng s1 = s1.replaceAll ('s', '') s2 = s2.replaceAll ('s', '') // Kiểm tra xem cả hai độ dài có khớp với if (s1 không .length ()! = s2.length ()) return false else {// Chuyển cả chuỗi thành chữ thường và thành mảng ký tự char [] arr1 = s1.toLowerCase (). toCharArray () char [] arr2 = s2.toLowerCase () .toCharArray () // Sắp xếp cả hai mảng ký tự Arrays.sort (arr1) Arrays.sort (arr2) // Kiểm tra xem có cả hai mảng đều trả về bằng nhau (Arrays.equals (arr1, arr2))}}}
anagram-program-in-java

Với điều này, chúng ta sẽ kết thúc bài viết này về Chương trình Anagram trong Java. Tôi hy vọng bạn đã hiểu chính xác thế nào là đảo chữ và cách viết một chương trình đảo chữ trong Java.

Kiểm tra của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Khóa đào tạo và cấp chứng chỉ về Java J2EE và SOA của Edureka được thiết kế cho sinh viên và các chuyên gia muốn trở thành Nhà phát triển Java. Khóa học được thiết kế để cung cấp cho bạn khởi đầu về lập trình Java và đào tạo bạn về cả khái niệm Java cốt lõi và nâng cao cùng với các khung Java khác nhau như Hibernate & Spring.

toán tử phân giải phạm vi trong c ++

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của blog “Chương trình Anagram trong Java” này và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.