This is a beta version of Practice-It. Give us feedback

logo Practice-It logo


Language/Type: Java
Author: Stuart Reges (on 2018/05/01)

Write a static method called undouble that takes a string as a parameter and that returns a new string obtained by replacing every pair of repeated adjacent letters with one of that letter. For example, the String "bookkeeper" has three repeated adjacent letters ("oo", "kk", and "ee"), so undouble("bookkeeper") should return the string "bokeper". Below are more sample calls:

Method                   Value        Method                  Value
 Call                   Returned       Call                  Returned
---------------------------------    ---------------------------------
undouble("odegaard")    "odegard"    undouble("oops")        "ops"
undouble("baz")         "baz"        undouble("foobar")      "fobar"
undouble("mississippi") "misisipi"   undouble("apple")       "aple"
undouble("carry")       "cary"       undouble("berry")       "bery"
undouble("juggle")      "jugle"      undouble("theses")      "theses"
undouble("little")      "litle"      undouble("")            ""

You may assume that the string is composed entirely of lowercase letters, as in the examples above, and that no letter appears more than two times in a row. But notice that the method might be passed an empty string, in which case it returns an empty string. You may use only the string methods included on the cheat sheet. In particular, you may not use the replace method of the String class to solve this problem.

Type your solution here:

This is a method problem. Write a Java method as described. Do not write a complete program or class; just the method(s) above.

You must log in before you can solve this problem.

Log In

If you do not understand how to solve a problem or why your solution doesn't work, please contact your TA or instructor.
If something seems wrong with the site (errors, slow performance, incorrect problems/tests, etc.), please

Is there a problem? Contact a site administrator.