Java中的递归方法,无效的AssignmentOperator

时间:2015-04-29 01:28:48

标签: java eclipse recursion methods

我正在尝试在Java中使用递归方法来进行类中的赋值。我们得到了每个条件的返回值,以及用于测试方法的内容。

然而,它一直告诉我,方法中的if / else语句中的(r-1)和(p-1)具有无效的AssignmentOperator。

我尝试更改方法的返回类型,弄乱了语句的结构,等等。

这是我的代码:

public static void main(String[] args) {

        recursiveAlgorithm(0, 0);
        recursiveAlgorithm(0, 1);
        recursiveAlgorithm(1, 1);
        recursiveAlgorithm(1, 2); 
        recursiveAlgorithm(1, 3);
        recursiveAlgorithm(2, 2);
        recursiveAlgorithm(3, 2);


}

     public static int recursiveAlgorithm(int r, int p) {

        if (r == 0) {
            return p + 1;
        }

        if (p == 0){
            return recursiveAlgorithm(r – 1, 1);
        }

        else {
            return recursiveAlgorithm(r – 1, recursiveAlgorithm(r, p – 1));
        }

    }

我不知道我做错了什么,我确定它与我的语法有关,但我不知道还有什么可以尝试。任何帮助都会非常非常感激。

错误:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
Syntax error on token "Invalid Character", invalid AssignmentOperator
Syntax error on token "Invalid Character", invalid AssignmentOperator
Syntax error on token "Invalid Character", invalid AssignmentOperator

at javaproject.Java_Recursion.recursiveAlgorithm(Java_Recursion.java:25)
at morris_brittany.Java_Recursion.main(Java_Recursion.java:7)

2 个答案:

答案 0 :(得分:0)

这样做:

public static void main(String[] args) {

    recursiveAlgorithm(0, 0);
    recursiveAlgorithm(0, 1);
    recursiveAlgorithm(1, 1);
    recursiveAlgorithm(1, 2); 
    recursiveAlgorithm(1, 3);
    recursiveAlgorithm(2, 2);
    recursiveAlgorithm(3, 2);

}

 public static int recursiveAlgorithm(int r, int p) {

    if (r == 0) {
        return p + 1;
    }

    if (p == 0){
        return recursiveAlgorithm(r - 1, 1);
    }

    else {
        return recursiveAlgorithm(r - 1, recursiveAlgorithm(r, p - 1));
    }

}

问题是您的-与键盘上的减号不同。我不知道你为什么把那种角色放在那里,但我的日食说这个角色不是- 您可以使用this并查看复制此-,看看它们是否真的不同。

答案 1 :(得分:0)

你需要' - '性格,而不是' - '字符。不知何故,你的代码包含一个unicode减去(其中三个,实际上......很可能是一个复制粘贴错误)。请参阅https://en.wikipedia.org/wiki/Hyphen-minus