我需要编写一个方法,当传递一个双数组arr和一个int值target时,返回其整数部分的项目第一次出现的索引等于目标。
例如,如果 arr = {1.2, 3.6, 5.2, 9.2, 5.6},并且 target = 5,则目标必须返回 2,如果数组为 null,则目标必须返回 -1。
到目前为止我的代码是
public static int yes(double[]arr, int target){
if (arr == null){
return -1;
}
for (int i= 0; i < arr.length(); i++){
if(arr[i] == target)
return i;
}
return 1;
}
并且存在编译错误,我只是不明白 double 和 int 之间的转换?谢谢
最佳答案
在检查它是否等于您的目标时,尝试将您的arr[i]
转换为int
:
for (int i= 0; i < arr.length; i++){
if((int)arr[i] == target)
return i;
}
这样做会去掉 arry[i]
的小数部分,使其成为整数,从而与您的目标进行比较。
关于java - 初学者通过数组搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40560103/