Чудесата могат да се правят със Strings, особено в Java. В тази статия ще видим как да внедрим програмата Anagram в Java в следния ред:
- Какво е Anagram?
- Програма Anagram в Java с помощта на методи sort () и equals ()
- Проверете дали два струни са Anagram с помощта на масив
Какво е Anagram?
An Анаграма е дума, която се образува чрез пренареждане или разбъркване на букви в друга дума, най-важното свойство в Anagram е, че всички букви трябва да се използват само веднъж. Например, нека вземем популярната анаграма, СЛУШАМ е анаграма на МЪЛЧИ .
В тази програма Anagram в Java ще разгледаме някои от възможните начини да проверим дали два низа са Anagram или не.
Програма Anagram в Java с помощта на методи sort () и equals ()
Първо, ние почистваме входа, като премахваме всички празни пространства от дадените два низа и променяме регистъра на всички символи на двата низа на малки букви, така че регистърът на двата входни низа ще бъде игнориран. След почистване на входните низове, ние ги конвертираме в символен масив и ги сортираме с помощта метод sort () на клас java.util.Arrays.
какво прави скенерът в java
След сортирането сравняваме и двата масива, използвайки метод equals () от същия клас Array. Този метод ще върне вярно, ако и двата масива имат еднакъв набор от символи. По-долу е дадена пълната програма за анаграми, използваща методите sort () и equals ().
публичен клас AnagramProgram {static void isAnagram (String s1, String s2) {// Премахване на всички бели пространства от s1 и s2 String copyOfs1 = s1.replaceAll ('s', '') String copyOfs2 = s2.replaceAll ('s', '') // Първоначално задаване на статус като истинско булево състояние = вярно, ако (copyOfs1.length ()! = CopyOfs2.length ()) {// Задаване на статус като false, ако copyOfs1 и copyOfs2 не са със същата дължина = false} else {// Промяна на регистъра на символите както на copyOfs1, така и на copyOfs2 и ги конвертира в char array 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)} // // Изход ако (статус) {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 ')}}
какво прави append в java
Проверете дали два струни са Anagram с помощта на масив
Това е най-простият от всички методи. След получаване на низовете от потребителя и ние трябва първо премахнете всички на бяло пространство и конвертирате ги в малка буква за сравнение, различно от малки и големи букви. Сега ги конвертирайте в символен масив и вид тях по азбучен ред . Просто сравнете и двата масива има същите елементи .
пакет com.javainterviewpoint import java.util.Arrays import java.util.Scanner публичен клас AnagramChecker {public static void main (String [] args) {Scanner scanner = new Scanner (System.in) // Получаване на входния низ от потребителя System.out.print ('Въведете първия низ:') Низ s1 = scanner.nextLine () System.out.print ('Въведете втория низ:') Низ s2 = scanner.nextLine () if (checkAnagram (s1, s2)) System.out.println (s1 + 'и' + s2 + 'са анаграми') else System.out.println (s1 + 'и' + s2 + 'НЕ са анаграми') scanner.close ()} публична статична булева проверкаAnagram ( String s1, String s2) {// Премахнете цялото празно пространство s1 = s1.replaceAll ('s', '') s2 = s2.replaceAll ('s', '') // Проверете дали и двете дължини съвпадат, ако (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 в Java. Надявам се да разберете какво точно представлява анаграма и как да напишете програма за анаграми в Java.
Вижте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен за студенти и професионалисти, които искат да бъдат Java Developer. Курсът е предназначен да ви даде начален старт в програмирането на Java и да ви обучи както за основни, така и за разширени Java концепции, заедно с различни Java рамки като Hibernate & Spring.
Имате въпрос към нас? Моля, споменете го в раздела за коментари в този блог „Програма Anagram в Java“ и ние ще се свържем с вас възможно най-скоро.