java - 初学者通过数组搜索

标签 java arrays search

我需要编写一个方法,当传递一个双数组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/

相关文章:

database - Google bigQuery 中的查询速度很慢

java - 数据结构 - 用 Ja​​va 创建 Bag

java - Android图像处理

javascript - 在哪里/如何设置循环增量并仅在找到条件时更新数组?

arrays - 为什么 JSON 返回这样的值 2.2348142859517371e-314 和 6.9531204333502763e-310

mysql - 如何在 MySQL 中创建更好的搜索查询

java - 有没有办法重建sessionFactory?

java - 为什么在一个域中运行良好的小程序在另一个域中却无法运行?

jquery - Uncaught ReferenceError : customerType is not defined (jQuery)

search - Solr 在大量方面值上的扩展能力如何?