我的任务是计算某个数字出现在排序数组中的次数。 我的代码:
public static void count_occurences(Integer[] v, Integer k) {
int count = 0;
int start = 0;
System.out.println();
for(int i = 826; i < v.length; i++){
System.out.println(v[i]);
System.out.println(k);
if(v[i] == (Integer)k){
count++;
}
}
System.out.print(count);
}
当数组与我正在使用的数组一样大时,似乎不起作用,因为它正越过我正在寻找的整数“828”。当数据太大或有什么东西时,是否会出现if语句的某种错误?我很困惑。
答案 0 :(得分:0)
整数是类,你必须使用equals方法,否则你要比较它们是否是同一个对象。你想检查它们是否代表相同的东西
v[i].equals((Integer)k)
另外,你从826开始,你需要从0开始。