The compiler is complaining because it's possible to call the method using an empty String ("") of length zero, in which case the loop body will never execute, so your method will be missing a return statement.
Keep in mind that when you "return" from a method, that method is done executing. So if you expect to iterate through the length of the String, you don't want to return during the first iteration.
I'm not exactly sure what you're trying to do here, but it looks like one approach might be to create a StringBuilder in the method, append it with each iteration of the loop, and then return a String representation of the StringBuilder after you've finished looping.
"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer sscce.org