反向字符串方法类型不匹配错误java

时间:2018-06-17 03:55:33

标签: java string methods types

我正在尝试使用一种方法来反转字符串中的字符,并且我一直遇到类型不匹配错误。有什么想法吗?

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;
    }

4 个答案:

答案 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('')