簡體   English   中英

反向字符串方法類型不匹配錯誤Java

[英]Reverse String Method type mismatch error java

我正在嘗試使用一種方法來反轉字符串中的字符,並且不斷收到類型不匹配錯誤。 有什么想法嗎?

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

System.out.println是一個無效方法。 它什么也不返回。 因此無法將其分配回String變量

您的代碼是錯誤的。

如果要反轉字符串,可以使用以下命令:

public static String userReverse (String userEntry3) {
    return new StringBuilder(userEntry3).reverse().toString()
}

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

編輯:正如蒂姆在評論中所說, 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();
}

反向字符串的一種更優化的方法包括兩種指針方法:使用一個指針從頭開始,另一個指針從頭開始。 當他們彼此見面時,你的弦已經被扭轉了

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();

}

System.out.println()是一個無效方法,它不返回任何內容。 你應該這樣嘗試

public static String userReverse (String userEntry3) {
String reverse = "";    
  for (int i = (userEntry3.length() -1); i >= 0 ; i--) {
   reverse += userEntry3.charAt(i).toString();
}
return reverse;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM