我开始学习使用Java。
我陷入了codingbat(http://codingbat.com/prob/p123384)的问题:
这是我的代码
public String frontBack(String str) {
if (str.length() > 1)
{
char first = str.charAt(0);
char last = str.charAt(str.length()-1);
String middle = str.substring(1,(str.length()-1));
return last + first + middle;
}
else
return str;
}
这是输出:
(我是新用户,因此无法放置图片)
Expected: Run:
frontBack("code") → "eodc" "200od" X
frontBack("a") → "a" "a" OK
frontBack("ab") → "ba" "195" X
frontBack("abc") → "cba" "196b" X
frontBack("") → "" "" OK
frontBack("Chocolate") → "ehocolatC" "168hocolat" X
frontBack("aavJ") → "Java" "171av" X
frontBack("hello") → "oellh" "215ell" X
为什么我得到所有这些花哨的数字?我的解决方案与codingbat提供的解决方案非常相似。
最佳答案
Java假定您要对char
进行整数加法,然后附加字符串。
要强制进行字符串连接,可以使用StringBuilder或类似的东西:
return "" + last + first + middle;
要么
return new String(last + first + middle);