我开始学习使用 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);
我是一名优秀的程序员,十分优秀!