我想知道为什么我在终端中收到以下错误:
Users-MBP:~ user$ javac Testing2.java
Testing2.java:18: error: variable result is already defined in method main(String[])
boolean result = true;
^
1 error
当我尝试运行以下程序时:
public class Testing2 {
private static int TwiceRepetition(int[] elems) {
///
}
public static void main(String[] args) {
///
}
}
实际上,所需的输出是,如果任何元素的连续重复长度为二,则它打印为 true。否则,它将打印为假。
该错误表明已定义变量结果。是的。但是你不能像在 Python 中那样重新定义它吗?
例如,在python中,我可以这样做(这意味着如果满足条件,则没有错误阻止我将变量结果重新定义为true):
def p1(x):
result = False
i = 0
while i < len(x) - 1:
if x[i]== x[i+1]:
result = True
i = i + 1
return result
但是在Java中,它不起作用,为什么?
找到第一个重复时中断循环:
for (int s = 0; s + 1 < args.length; s++) {
if (args[s].equals(args[s + 1])) {
result = true;
break;
}
}
否则,变量result
将再次被覆盖。