Advertisement
ProgNeo

Untitled

Dec 8th, 2021
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.77 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.util.*;
  4.  
  5. public class Main {
  6.  
  7.     public static void main(String[] args) {
  8.         taskA();
  9.         taskB();
  10.         taskC();
  11.         taskD();
  12.     }
  13.  
  14.     public static String[] removeDuplicatesInString(String[] array) {
  15.         Set<String> set = new LinkedHashSet<>(List.of(array));
  16.  
  17.         return set.toArray(new String[0]);
  18.     }
  19.  
  20.     public static Integer[] removeDuplicatesInInteger(Integer[] array) {
  21.         Set<Integer> set = new LinkedHashSet<>(List.of(array));
  22.  
  23.         return set.toArray(new Integer[0]);
  24.     }
  25.     public static String[] normalizeText(String text) {
  26.         text = text.toLowerCase();
  27.         text = text.replaceAll(",", " ");
  28.         text = text.replaceAll("/.", " ");
  29.         text = text.replaceAll(" +", " ");
  30.  
  31.         return text.split(" ");
  32.     }
  33.  
  34.     public static void taskA() {
  35.         System.out.println("Задание A:\nВыпишите все возможные комбинации, состоящие из двух слов заданного предложения");
  36.         System.out.println("(В качестве заданного предложения будет использоваться текст задания)");
  37.  
  38.         String[] text = normalizeText("Выпишите все возможные комбинации, состоящие из двух слов заданного предложения");
  39.         text = removeDuplicatesInString(text);
  40.         for (int i = 0; i < text.length - 1; i++) {
  41.             for (int j = i + 1; j < text.length; j++) {
  42.                 System.out.println(text[i] + " - " + text[j]);
  43.             }
  44.         }
  45.     }
  46.  
  47.     public static void taskB() {
  48.         System.out.println("Задание B:\nОпределите количество возможных комбинаций из трех слов заданного предложения");
  49.         System.out.println("(В качестве заданного предложения будет использоваться текст задания)");
  50.  
  51.         String[] text = normalizeText("Выпишите все возможные комбинации, состоящие из двух слов заданного предложения");
  52.         text = removeDuplicatesInString(text);
  53.         int count = 0;
  54.         for (int i = 0; i < text.length - 2; i++) {
  55.             for (int j = i + 1; j < text.length - 1; j++) {
  56.                 for (int k = j + 1; k < text.length; k++) {
  57.                     System.out.println(text[i] + " - " + text[j] + " - " + text[k]);
  58.                     count += 1;
  59.                 }
  60.             }
  61.         }
  62.         System.out.println("Количество возможных комбинаций: " + count);
  63.     }
  64.  
  65.     public static void taskC() {
  66.         System.out.println("""
  67.                Задание C:
  68.                Дан одномерный числовой массив, определить число всевозможных комбинаций
  69.                из двух элементов данного массива таким образом чтобы первый элемент в паре
  70.                был меньше второго более чем в два раза""");
  71.  
  72.         Integer[] numbers = new Integer[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
  73.         numbers = removeDuplicatesInInteger(numbers);
  74.         Arrays.sort(numbers);
  75.  
  76.         for (int i = numbers.length - 1; i > 0; i--) {
  77.             for (int j = i - 1; j > 0; j--) {
  78.                 if ((float)numbers[j] < ((float)numbers[i] / 2)) {
  79.                     System.out.println(numbers[j] + " - " + numbers[i]);
  80.                 }
  81.             }
  82.         }
  83.     }
  84.  
  85.     public static void taskD() {
  86.         System.out.println("Задание D:\nНайдите число согласных букв в предложении");
  87.         System.out.println("(В качестве заданного предложения будет использоваться текст задания)");
  88.  
  89.         String[] consonants = {"б", "в", "г", "д", "ж", "з", "й", "к", "л", "м", "н",
  90.                 "п", "р", "с", "т", "ф", "х", "ц", "ч", "ш", "щ"};
  91.         String[] text = normalizeText("Найдите число согласных букв в предложении");
  92.         text = removeDuplicatesInString(text);
  93.  
  94.         int count = 0;
  95.         for (String word : text) {
  96.             for (String ch : word.split("")) {
  97.                 for (String consonant : consonants) {
  98.                     if (Objects.equals(ch, consonant)) {
  99.                         count += 1;
  100.                     }
  101.                 }
  102.             }
  103.         }
  104.         System.out.println("Количество согласных букв: " + count);
  105.     }
  106. }
  107.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement