在for循环中返回关键字功能

时间:2014-09-30 12:59:40

标签: java

这是一个反转句子的程序。  以下代码中的“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+ " ";
     }
 }

2 个答案:

答案 0 :(得分:0)

这是一个递归函数,所以它自称。

它取第一个单词(字符直到它找到一个空格),然后它以相反的顺序将句子的其余部分附加到它的前面。

答案 1 :(得分:0)

此操作方法以递归方式工作。

如果找到空格字符(ch[i] == ' '),它将获得一个子字符串,其中还有一个字符(str.substring(i + 1))附加了字符串的开头(str.substring(0, i)),并且将此新字符串一次又一次地传递给action方法。

直到它读取所有输入的字符串空格才会发生。