接受一个 int 数组和一个值并返回该值在数组中的索引的方法

夏贝尔·尼古拉斯

我花了大约一个小时试图弄清楚这一点,但我做不到。这是我正在学习的 Java 选修课程的练习,我可以使用一些帮助。

编写一个方法 linearSearch(),它接受一个整数数组和一个整数值。然后它应该返回数组内值的索引(通过使用 for 循环按顺序一一遍历元素)。如果未找到该值,则应返回 -1。如果找到多个值,则应返回第一个出现的值。编写一个程序来测试你的方法。

所以这就是我尝试做的。

public class Exercise6 {
    public static void main(String [] args) {
        int[] a = {3, 6, 70, 3, 7, 9};
        linearSearch(a, 3);
        
    }

    public static void linearSearch(int[] a, int n){  
        int index;      

        for (int i = 0; i < a.length; i++){
            if (a[i] == n){
                index = i;
                break;
            }
            else {
                index = -1;
            }
        }
        System.out.print(index);
    }
}

但这显然是错误的。你能指出我正确的方向吗?我不一定要你给我答案,只是给我一个关于步骤的想法。

WJS

有几个问题。

  • 您想返回一个值,因此您需要通过返回类型为intand not在方法中显示该值void

  • 你不需要索引变量,你的 for 循环中已经有一个,(i)所以使用它。

  • 当您遍历循环时,一旦找到值,只需执行 areturn i;即可返回索引。您的方法中不需要任何break语句。

  • 你不需要继续分配-1给索引,所以摆脱else clause(记住你甚至不需要index)。

  • 如果您完成循环,则该值必须不存在return -1;

  • 最后,由于您要返回一个值,因此您需要在调用该方法时对其进行分配。就这样吧int ret = linearSearch(a, 3);然后打印值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

需要一个int数组,一个int索引和一个int值的方法

编写一个函数,该函数接受一个 int 数组,并将偶数和奇数的和作为数组返回。(在描述中阅读全文)

接受一个Int并返回一个函数的函数

在 java 中,如何在 int 数组中为该数组中的另一个值添加值?

返回一个int数组

从int数组创建一个Map,索引作为键,值作为java中的数组元素

OC调用一个swift函数,该函数返回一个int数组,但不能接受带有int变量的元素

在 Java 中返回一个 int 数组

如何在java的int数组中更改一个值等于另一个值?

如何在C中返回一个int值?

C:int字符串接受所有值,但是一个吗?

编写一个 java 方法 insertNodeBefore,它接受两个整数 int a 和 int b

C#根据另一个数组中的索引递增一个数组中的Int

如何编写一个方法,该方法接受2个int参数并将它们相乘,然后将结果与一个单独的变量相乘

是否有任何方法可以声明一个在MQL4中可以接受int和double值作为参数的函数?

将一个int数组复制到一个较大的int数组中,该int数组表示给定中心点处的图像

如何使用另一个数组和THAT数组中存在的值在数组中找到索引?

复制一个int *数组

如何在Swift中将数组中的每个Int值乘以一个常数?

用 C 中的 int 值初始化一个双精度数组

返回一个int数组的Printf函数

同步递增一个int值

反映一个int的值

方法上的长数据类型接受一个 int

Swift通过在每个索引处获取max()从两个int数组中创建一个Int数组

存储过程-接收一个int值返回nvarchar

我已经从Char数组创建了一个Int数组,现在值不匹配

在数组 (KQL) 中查找一组搜索值中的任何一个的索引

将 int 数组的值添加到另一个 int 数组 C# 的值