English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java полная коллекция примеров
В этом примере мы проверим, является ли строкаvalidной реорганизацией (перетасовкой) других двух строк в Java.
Чтобы понять этот пример, вам следует знать следующееJava программированиеТема:
class Main { //проверка, является ли строка результата эффективной раскладкой первой и второй строк static boolean shuffleCheck(String first, String second, String result) { //проверка, соответствует ли длина результата //общая сумма первых и вторых результатов if (first.length() + second.length() != result.length()) { return false; } //вариабли для отслеживания каждого символа в трёх строках int i = 0, j = 0, k = 0; //обход всех символов результата while (k != result.length()) { //проверка, совпадает ли первый символ результата с первым символом первой строки if (i < first.length() && first.charAt(i) == result.charAt(k)) { i++; //проверка, совпадает ли первый символ результата с первым символом второй строки } j++; //если символы не совпадают } return false; } //доступ к следующему символу результата k++; } //после доступа ко всем символам результата //если в первой или второй есть оставшиеся символы if (i < first.length() || j < second.length()) { return false; } return true; } public static void main(String[] args) { String first = "XY"; String second = "12"; String[] results = {"1XY2", "Y12X"}; //вызов метода для проверки, является ли строка результата //first и second смешение for (String result : results) { if (shuffleCheck(first, second, result) == true) { System.out.println(result + " является " + first + " и " + second + " эффективной перекомпоновкой"); } else { System.out.println(result + " не " + first + " и " + second + " эффективная перекомпоновка"); } } } }
Результат вывода
1XY2 является эффективной перекомпоновкой XY и 12 Y12X не является эффективной перекомпоновкой XY и 12
В примере выше, у нас есть строковой массив results. Он содержит две строки: 1XY2 и Y12X. Мы проверяем, являются ли эти две строки эффективными строками first(XY) и second(12).
Здесь, программа говорит, что 1XY2 является эффективной перемешиванием XY и 12. Но Y12X это не эффективное перемешивание.
Это потому что Y12X изменил порядок строк XY. Здесь, Y используется для предыдущего X. Поэтому, в качестве эффективной перекомпоновки, порядок строк должен быть сохранен.