Java搜索循环的数组

时间:2017-04-10 21:07:27

标签: java arrays netbeans

我正在研究数组的搜索循环。当我尝试自己编写代码时,有一些我无法找到的错误。通过我使用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语句有一个不必要的return语句。

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

2 个答案:

答案 0 :(得分:2)

当方法类型为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;
    }

答案 1 :(得分:2)

  

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

您可以创建一个返回int的分隔方法,并在主方法中调用它,例如:

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中不允许这样做。