这是一个反转句子的程序。 以下代码中的“return”关键字正在执行的操作。
import java.util.Scanner;
public class RevSentenceWithoutSplit2 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("enter your sentence");
String str=sc.nextLine();
RevSentenceWithoutSplit2 r=new RevSentenceWithoutSplit2();
System.out.println(r.action(str));
}
public String action(String str){
char ch[]=str.toCharArray();
String result="";
for (int i =0; i <str.length() ; i++){
if(ch[i]==' '){
return action(str.substring(i+1))+str.substring(0,i)+" ";
}
}
return str+ " ";
}
}
答案 0 :(得分:0)
这是一个递归函数,所以它自称。
它取第一个单词(字符直到它找到一个空格),然后它以相反的顺序将句子的其余部分附加到它的前面。
答案 1 :(得分:0)
此操作方法以递归方式工作。
如果找到空格字符(ch[i] == ' '
),它将获得一个子字符串,其中还有一个字符(str.substring(i + 1)
)附加了字符串的开头(str.substring(0, i
)),并且将此新字符串一次又一次地传递给action方法。
直到它读取所有输入的字符串空格才会发生。