Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.util.*;
- public class Main {
- public static void main(String[] args) {
- taskA();
- taskB();
- taskC();
- taskD();
- }
- public static String[] removeDuplicatesInString(String[] array) {
- Set<String> set = new LinkedHashSet<>(List.of(array));
- return set.toArray(new String[0]);
- }
- public static Integer[] removeDuplicatesInInteger(Integer[] array) {
- Set<Integer> set = new LinkedHashSet<>(List.of(array));
- return set.toArray(new Integer[0]);
- }
- public static String[] normalizeText(String text) {
- text = text.toLowerCase();
- text = text.replaceAll(",", " ");
- text = text.replaceAll("/.", " ");
- text = text.replaceAll(" +", " ");
- return text.split(" ");
- }
- public static void taskA() {
- System.out.println("Задание A:\nВыпишите все возможные комбинации, состоящие из двух слов заданного предложения");
- System.out.println("(В качестве заданного предложения будет использоваться текст задания)");
- String[] text = normalizeText("Выпишите все возможные комбинации, состоящие из двух слов заданного предложения");
- text = removeDuplicatesInString(text);
- for (int i = 0; i < text.length - 1; i++) {
- for (int j = i + 1; j < text.length; j++) {
- System.out.println(text[i] + " - " + text[j]);
- }
- }
- }
- public static void taskB() {
- System.out.println("Задание B:\nОпределите количество возможных комбинаций из трех слов заданного предложения");
- System.out.println("(В качестве заданного предложения будет использоваться текст задания)");
- String[] text = normalizeText("Выпишите все возможные комбинации, состоящие из двух слов заданного предложения");
- text = removeDuplicatesInString(text);
- int count = 0;
- for (int i = 0; i < text.length - 2; i++) {
- for (int j = i + 1; j < text.length - 1; j++) {
- for (int k = j + 1; k < text.length; k++) {
- System.out.println(text[i] + " - " + text[j] + " - " + text[k]);
- count += 1;
- }
- }
- }
- System.out.println("Количество возможных комбинаций: " + count);
- }
- public static void taskC() {
- System.out.println("""
- Задание C:
- Дан одномерный числовой массив, определить число всевозможных комбинаций
- из двух элементов данного массива таким образом чтобы первый элемент в паре
- был меньше второго более чем в два раза""");
- Integer[] numbers = new Integer[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
- numbers = removeDuplicatesInInteger(numbers);
- Arrays.sort(numbers);
- for (int i = numbers.length - 1; i > 0; i--) {
- for (int j = i - 1; j > 0; j--) {
- if ((float)numbers[j] < ((float)numbers[i] / 2)) {
- System.out.println(numbers[j] + " - " + numbers[i]);
- }
- }
- }
- }
- public static void taskD() {
- System.out.println("Задание D:\nНайдите число согласных букв в предложении");
- System.out.println("(В качестве заданного предложения будет использоваться текст задания)");
- String[] consonants = {"б", "в", "г", "д", "ж", "з", "й", "к", "л", "м", "н",
- "п", "р", "с", "т", "ф", "х", "ц", "ч", "ш", "щ"};
- String[] text = normalizeText("Найдите число согласных букв в предложении");
- text = removeDuplicatesInString(text);
- int count = 0;
- for (String word : text) {
- for (String ch : word.split("")) {
- for (String consonant : consonants) {
- if (Objects.equals(ch, consonant)) {
- count += 1;
- }
- }
- }
- }
- System.out.println("Количество согласных букв: " + count);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement