Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.LinkedHashSet;
- public class Main {
- private static int countCharter(String check_str, char needChar){
- /**
- * Метод для обраховування послідовності
- *
- * @param check_str - Рядок, який буде перевірятися
- * @param needChar - Літера, послідовність якої обраховується
- * @return Довжина послідовності [int]
- * */
- int counter = 0;
- for (int i = 0; i < check_str.length(); i++) {
- if (needChar == check_str.charAt(i)){
- counter++;
- }
- }
- return counter;
- }
- private static String formateSequence(int number, char needChar){
- /**
- * Метод який розбиває послідовність на групи
- *
- * @param number - довжина послідовності
- * @see #countCharter(String, char)
- * @param needChar - Літера, послідовність якої розбивається на групи
- * @return Довжина послідовності [int]
- * */
- String result = String.valueOf(needChar);
- int full = number / 9; // К-сть груп, які буду містити повну дев'ятку
- int part = number % 9;
- for (int i = 0; i < full; i ++){
- result += 9 + String.valueOf(needChar);
- }
- if (part > 1){
- result += part;
- }
- return result;
- }
- private static LinkedHashSet<Character> getUnique(String str)
- {
- /**
- * Отримуємо унікальні літери із рядку
- *
- * @param str - Рядок, який ми отримаємо через параметр
- * @return Множину із унікальними літерами [Character]
- * */
- LinkedHashSet<Character> al = new LinkedHashSet<>();
- char[] arr = str.toCharArray();
- for (int i = 0; i < arr.length; i++)
- {
- al.add(arr[i]);
- }
- return al;
- }
- public static void main(String[] args) {
- System.out.println("Задано " + args.length + " параметр!\n");
- LinkedHashSet<Character> uniques;
- for (String arg : args) {
- // Для кожного параметру перевіряємо чи він не пустий
- if (arg.isEmpty()){
- System.out.println(' ');
- break;
- }
- // Отримуємо унікальні літери із рядка
- uniques = getUnique(arg);
- for (Character un: uniques){
- // Для кожної літери рахуємо її послідовність
- System.out.print(formateSequence(countCharter(arg, un), un));
- }
- // Для гарного виводу
- System.out.println();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement