Java 中的递归方法,无效的 AssignmentOperator
Recursive Method in Java, Invalid AssignmentOperator
我正在尝试使用 Java 中的递归方法来进行 class 中的赋值。我们得到了每个条件 return 的内容,以及用于测试该方法的内容。
但是,它一直告诉我方法的 if/else 语句中的 (r-1) 和 (p-1) 具有无效的 AssignmentOperator。
我试过更改方法的 return 类型,弄乱语句的结构等等。
这是我的代码:
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);
}
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 并查看复制此 -
和 –
以查看它们确实不同。
您需要“-”字符,而不是“–”字符。不知何故,您的代码包含一个 unicode 减号(其中三个,实际上......很可能是复制粘贴错误)。参见 https://en.wikipedia.org/wiki/Hyphen-minus。
我正在尝试使用 Java 中的递归方法来进行 class 中的赋值。我们得到了每个条件 return 的内容,以及用于测试该方法的内容。
但是,它一直告诉我方法的 if/else 语句中的 (r-1) 和 (p-1) 具有无效的 AssignmentOperator。
我试过更改方法的 return 类型,弄乱语句的结构等等。
这是我的代码:
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);
}
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 并查看复制此 -
和 –
以查看它们确实不同。
您需要“-”字符,而不是“–”字符。不知何故,您的代码包含一个 unicode 减号(其中三个,实际上......很可能是复制粘贴错误)。参见 https://en.wikipedia.org/wiki/Hyphen-minus。