我是java新手,正在寻找一些建议。我被分配到下面的问题,我不能让比较方法来运行我的生活。它不会编译。我收到以下错误:Java新手,y类中的方法X无法应用
error: method compare in class Plateau cannot be applied to given types;
compare(a[N]);
required: int[],int
found: int
reason: actual and formal argument lists differ in length
任何帮助将不胜感激。
1.4.21最长的高原。给定一个整数数组,找出最长连续的等值序列的长度和位置,其中紧接在该序列之前和之后的元素值较小。该数组应该传递给一个方法,结果应该被打印到屏幕上。
public class Plateau{
public static void main(String[] args) {
int N = args.length;
int[] a = new int [N];
for (int i=0; i < N; i++){
int number = Integer.parseInt(args[i]);
a[i]=number;
}
compare(a[N]);
}
public static void compare(int[] a, int N){
int comp = a[0];
int current_length=0;
int max=0;
int maxlength=0;
for(int l=0; l < N; l++){
if (a[l] > comp){
current_length = 0;
comp = a[l];
max = a[l];
}
if (a[l] == comp){
current_length+=1;
comp = a[l];
}
else if (a[l] < comp && a[l] < max){
comp = a[l-1];
current_length=maxlength;
l++;
}
}
System.out.println(max);
System.out.println(maxlength);
}
}
尝试'compare(a,N);' – Berger
'compare(int [] a,int N)'需要2个参数,但用1个参数调用compare(a [N])'。从任何初学者入门(语言无所谓) – john