我正在尝试使用一种方法来反转字符串中的字符,并且我一直遇到类型不匹配错误。有什么想法吗?
public static String userReverse (String userEntry3) {
String reverse = "";
for (int i = (userEntry3.length() -1); i >= 0 ; i--) {
reverse = System.out.println(userEntry3.charAt(i));
}
return reverse;
}
答案 0 :(得分:2)
System.out.println
是一种无效方法。它什么都不返回。因此无法将其分配回String
变量
你的代码错了。
如果要反转字符串,可以使用:
public static String userReverse (String userEntry3) {
return new StringBuilder(userEntry3).reverse().toString()
}
答案 1 :(得分:0)
删除System.out.println
并添加+=
以连接新字符
public static String userReverse (String userEntry3) {
String reverse = "";
for (int i = (userEntry3.length() -1); i >= 0 ; i--) {
reverse += userEntry3.charAt(i);
}
return reverse;
}
编辑:正如Tim在评论中所说,StringBuilder
也可以使用(并且比在循环中连接字符串更好):
public static String userReverse (String userEntry3) {
StringBuilder reverse = new StringBuilder();
for (int i = (userEntry3.length() -1); i >= 0 ; i--) {
reverse.append(userEntry3.charAt(i));
}
return reverse.toString();
}
答案 2 :(得分:0)
更优化的反转字符串的方法包括两个指针方法: 使用一个指针从头开始,另一个指针从头开始。当他们彼此见面时,你的字符串已经被颠倒了
public static String userReverse (String userEntry3) {
int i = 0;
int j = userEntry3.length()-1;
StringBuilder myName = new StringBuilder(userEntry3);
for(; i < j ; i++,j--){
char temp = userEntry3.charAt(i);
myName.setCharAt(i,userEntry3.charAt(j));
myName.setCharAt(j,temp);
}
return myName.toString();
}
答案 3 :(得分:0)
System.out.println()是一个无效方法,它不返回任何内容。您应该以这种方式尝试
var base64ImagesArrayConcarved = base64ImagesArray.join('')