кодесурса

Упражнения на Java: создание базового метода сжатия строк с использованием количества повторяющихся символов

script1adsense2code
script1adsense3code

Java Basic: упражнение 208 с решением

Напишите Java-программу для создания базового метода сжатия строк с использованием количества повторяющихся символов.

Пример решения:

Java-код:

import java.util.Scanner; 
public class StringCompression
{
 public static void main(String[] args)
 {
  StringCompression str = new StringCompression();
  String s1,s2; 
  Scanner in = new Scanner(System.in);
  System.out.println("Enter a string (you can include space as well)"); 
  s1 = in.nextLine(); 
  //Trim all the spaces of the string using replaceAll method
  s2 = s1.replaceAll("\\s","");
  str.Compression(s2);
 }
 
 
//Create a Java Method Compression to compress the string
public static String Compression(String s)
 {
  int count = 1;
  StringBuilder sb = new StringBuilder();
//Below for loop counts all characters of the string apart from the last one
//The last character won't get appended by the class StringBuilder here as it 
//does not enter the for loop once the length completes the count
      for (int i = 1; i < s.length()-1 ; i++) 
        {
          if (s.charAt(i) == s.charAt(i - 1)) 
          {
            count++;
          } 
          else 
          {
            sb.append(s.charAt(i - 1));
            sb.append(count);
            count = 1;
          }
        }
//Count the last character of the string
      if (s.length() > 1)
        {
        //Compare the last two characters of the string
        if (s.charAt(s.length() - 1) == s.charAt(s.length() - 2))
          {
            count++;
          } 
          else 
          {
            sb.append(s.charAt(s.length() - 2));
            sb.append(count);
            count = 1;
          }
          sb.append(s.charAt(s.length() - 1));
          sb.append(count);
        }
        s = sb.toString();
        System.out.println("The compressed string along with the counts of repeated characters is:" + "\n" +s);
        return s;
 }
}

Пример вывода:

 Введите строку (вы также можете включить пробел)
 aaaabbbbcccccddddeeee
Сжатая строка вместе с количеством повторяющихся символов:
a4b4c5d4e4

Блок-схема 1:

«Блок-схема:

Блок-схема 2:

«Блок-схема:

Редактор кода Java:

Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите Java-программу для вычисления x n % y, где x, y и n - все 32-битные целые числа.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code