Java Number Sum summarizeCigarString(String cigarString)

Here you can find the source of summarizeCigarString(String cigarString)

Description

summarize Cigar String

License

Apache License

Declaration

public static String summarizeCigarString(String cigarString) 

Method Source Code

//package com.java2s;
/*//  w  ww.j a  va  2  s  .c  om
 *    Copyright 2016 Roche NimbleGen Inc.
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

public class Main {
    public static String summarizeCigarString(String cigarString) {
        StringBuilder summarizedCigarString = new StringBuilder();

        if (cigarString.length() > 0) {
            int numberOfRepeats = 1;
            char currentlyRepeatingChar = cigarString.charAt(0);

            for (int i = 1; i < cigarString.length(); i++) {
                char currentChar = cigarString.charAt(i);

                if (currentlyRepeatingChar == currentChar) {
                    numberOfRepeats++;
                } else {
                    summarizedCigarString.append("" + numberOfRepeats
                            + currentlyRepeatingChar);
                    numberOfRepeats = 1;
                    currentlyRepeatingChar = currentChar;
                }
            }

            summarizedCigarString.append("" + numberOfRepeats
                    + currentlyRepeatingChar);
        }

        return summarizedCigarString.toString();
    }
}

Related

  1. sumIf(final Integer number, final Integer sum, final Boolean condition)
  2. sumIsMod10(int sum)
  3. sumLange(int _a, int _b)
  4. sumLogProb(double a, double b)
  5. summarize(String longString, int limit)
  6. summary(String text)
  7. summatory(int value)
  8. sumMinMax(int a, int b)
  9. sumNforOddIndices(long n)