Update: So this isn't incorrectly perceived as a 'do this for me' question, as stated in edit 2, I've already accounted for all cases. I got rid of isNumeric(recognition to rofl's answer) lengthen is the same, but blowup is now this:
public static String blowup(String str) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
if (!Character.isDigit(str.charAt(i))) {
sb.append(str.charAt(i));
}
else if (i == str.length() - 1) { return sb.toString(); }
else {
sb.append(lengthen(str.charAt(i + 1),
Character.getNumericValue(str.charAt(i))));
}
}
return sb.toString();
}