我正在尝试解决一个简单的问题,获取一个字符串并反转字符串中单词的顺序。我的代码如下:
public class reverse
{
public static String rev (String a){
String[] arr = a.split(" ");
int count = arr.length;
String result;
if (count <= 1){
result = arr[count];
return result;
}else{
String temp = arr[count];
return temp;
result = rev(temp);
count --;
}
}
}
我的困境是,在编译时,我在第 13 行收到一个错误,指出“无法访问语句”。就递归而言,我没有看到问题,但任何解决此问题的帮助将不胜感激。
注意:我知道没有 main 方法,我正在使用 BlueJ IDE,可以在其中测试各个方法。
最佳答案
在递归之后,您需要返回
您的else
block 。此外,数组从 0
开始并包含 length - 1
元素。你可以做类似的事情,
int count = arr.length - 1;
if (count < 1) {
result = arr[count];
} else {
String temp = arr[count];
// return temp;
result = temp + " " + rev(a.substring(0, a.lastIndexOf(' ')));
// count--; // <-- updates local count uselessly.
}
return result;
关于java - 不可达语句,递归(java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34803066/