我正在尝试执行此操作,以便打印出相同数字的最长序列。我刚刚编辑了它,但是它告诉我发表一个返回声明。这是我的代码:
public class A1Q3 {
private static int getLongestRun(int[] array){
int count = 1;
int max = 1;
for (int i = 1; i < array.length; i++) {
if (array[i] == array[i - 1]) {
count++;
} else {
count = 1;
}
if (count > max){
max = count;
}
}
public static void main(String[] args) {
int[] array = new int[]{5, 6, 6, 45, -2, -9, 56};
System.out.println(getLongestRun(array));
}
}
答案 0 :(得分:0)
您缺少getLongestRun()函数和return语句的右括号。您想要返回最大变量。
此外,而不是
System.out.println(count);
尝试:
System.out.println(getLongestRun(array));
实际使用你所做的功能。但是,您的功能仍然不正确。您将返回当前条纹计数,而不是最长的条纹计数。在条纹结束后,您正确地将计数重置为1,但是您需要另一个名为max的变量来存储除当前条纹之外的总最大值。