Java中的递归方法,AssignmentOperator无效
我试图使用Java中的递归方法在我的类中进行赋值。我们得到了每个条件的返回值,以及用于测试方法的内容 但是,它一直告诉我方法中if/else语句中的(r-1)和(p-1)有一个无效的AssignmentOperator 我尝试过改变方法的返回类型,搞乱了语句的结构,等等 这是我的密码:Java中的递归方法,AssignmentOperator无效,java,eclipse,recursion,methods,Java,Eclipse,Recursion,Methods,我试图使用Java中的递归方法在我的类中进行赋值。我们得到了每个条件的返回值,以及用于测试方法的内容 但是,它一直告诉我方法中if/else语句中的(r-1)和(p-1)有一个无效的AssignmentOperator 我尝试过改变方法的返回类型,搞乱了语句的结构,等等 这是我的密码: public static void main(String[] args) { recursiveAlgorithm(0, 0); recursiveAlgorithm(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));
}
}
我不知道我做错了什么,我肯定这与我的语法有关,但我不知道还有什么可以尝试。任何帮助都将非常感谢
错误:
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)
这样做:
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);
}
问题是您的-
与键盘上的减号不同。我不知道你为什么把这种角色放在那里,但是我的eclipse说这个角色不是-
您可以使用并查看复制此
-
和-
以查看它们是否真正不同。您需要的是“-”字符,而不是“-”字符。不知何故,您的代码包含一个unicode减号(实际上有三个减号……很可能是复制粘贴错误)。请参阅。您能显示您的实际错误堆栈跟踪吗?错误在哪一行?什么是csc2650Algorithm
方法?抱歉,我在发布该方法时忘记更改其名称。唯一的方法是递归算法。
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));
}
}