数组的 Java 搜索循环



我正在研究数组的搜索循环。 当我尝试自己做代码时,有一些错误我无法发现。顺便说一下,我使用 Netbeans 进行 Java 编码。

我的数组搜索代码:

public class JavaApplication {
    public static void main(String[] args) {
        int[] nums = new int[5];
        nums = new int[]{2, 4, 6, 8, 7};
        int target = 7;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] == target) {
                return i;
            }
        }
        return -1;
    }
}

NetBeans 说,我的最后一个返回语句有一个不必要的返回语句。

如何修复 return 语句并运行此代码?

当方法类型为 void 时,您无法返回任何内容。

如果需要打印数组

中是否找到 int,请将逻辑提取到单独的方法并打印结果,如下所示

  public static void main(String[] args) {
    int[]nums = {2,4,6,8,7}; // you can initialize the array like this
    int target=7;
    System.out.println(findValue(target, nums));
  }

  private static int findValue(int target, int[] nums) {
    for(int i=0; i<nums.length;i++){
     if(nums[i]==target)
       return i;
        }
        return -1;
    }

如何修复 return 语句并运行此代码?

您可以创建一个单独的方法,该方法返回一个int并在main方法中调用它,例如:

public static void main(String[] args) throws Exception {
    myMethod(); //call your method in the main method
}
public static int myMethod() {
    int[] nums = new int[5];
    nums = new int[]{2, 4, 6, 8, 7};
    int target = 7;
    for (int i = 0; i < nums.length; i++) {
        if (nums[i] == target) {
            return i;
        }
    }
    return -1; 
}

当你的方法无效时,你不能返回任何东西,而且你不能用main方法返回任何东西,这在java中是不允许的。

最新更新