我正在尝试在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)
答案 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。