Конспект урока "Реализация определения фраз-анаграмм на Java с помощью сортировки"


ФИО автора: Трофимов Виктор Геннадьевич
Место работы: ГКООУ санаторная школа-интернат №28 г. Ростова-на-Дону
Должность: учитель информатики и ИКТ
РЕАЛИЗАЦИЯ ОПРЕДЕЛЕНИЯ ФРАЗ-АНАГРАММ НА JAVA С
ПОМОЩЬЮ СОРТИРОВКИ
Описание: программа получает на вход в виде параметров командной строки две фразы и
выводит сообщение о том, являются ли фразы анаграммами.
Знаки препинания не учитываются.
Для компиляции: javac Anagram.java
Для запуска: java Anagram фраза_№1 фраза№2, вместо пробелов ставить знак
подчёркивания.
Пример работы:
Текст класса:
import java.util.Arrays;
/**
/** В командной строке два параметра - анализируемые фразы
/** Все пробелы заменить на _
**/
public class AnagramSort {
public static void main(String[] args) {
if (args.length == 0) {
System.out.println("Необходимо ввести два обязательных аргумента:
фразы.\n"
+ "Пробелы во фразах заменить на _.");
System.exit(0);
}
if (args.length > 2) {
System.out.println("Допустимо только два аргумента.\n"
+ "Пробел - для разделения слов; во фразе вместо пробелов знак
подчёркивания.\n"
+ "Например: Солнце_в_окошко Мама_мыла_раму");
System.exit(0);
}
String string1 = args[0];
String string2 = args[1];
String rpl[] = {",", ".", "!", "\"", "?", "-", ";", ":", "*", "/", "=", "_"};
args[0] = args[0].toUpperCase();
args[1] = args[1].toUpperCase();
for (int i = 0; i < rpl.length; i++) {
args[0] = args[0].replace(rpl[i], "");
args[1] = args[1].replace(rpl[i], "");
}
System.out.println("Анализируем: " + args[0] + " и " + args[1]);
char [] a0 = args[0].toCharArray();
char [] a1 = args[1].toCharArray();
Arrays.sort(a0);
Arrays.sort(a1);
if (Arrays.equals(a0, a1))
System.out.println("Представлены анаграммы.");
else
System.out.println("Это не анаграммы.");
}
}