[英]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.