Java 正在尝试返回数组中元素的位置,但打印时遇到问题

Java 正在尝试返回数组中元素的位置,但打印时遇到问题,java,Java,我正在编写这段代码来打印这个数组中的位置,我想在获取返回值时,我所有的代码都是正确的,但是我还没有得到任何值;在屏幕上打印。我尝试调用arrayLength方法进行打印,但得到的唯一错误是arrayLength无法解析为变量。所以我不确定打印哪个变量 public class Generics { static List<Integer> list = new ArrayList<Integer>(); Integer[] array =

我正在编写这段代码来打印这个数组中的位置,我想在获取返回值时,我所有的代码都是正确的,但是我还没有得到任何值;在屏幕上打印。我尝试调用arrayLength方法进行打印,但得到的唯一错误是arrayLength无法解析为变量。所以我不确定打印哪个变量

 public class Generics {
        static List<Integer> list = new ArrayList<Integer>();
        Integer[] array = {2, 4, 6, 8};
        Integer s= list.get(0);

         int arrayLength(int[] array, int value) {

        for (int i = 0; i < array.length; i++) {

            if(array[i]==value) {
                return i;
            }
        }
        return -1;
        }

        public static void main(String[] args) {
           System.out.println(arrayLength);
        }
      }

我相信您正在尝试打印函数而不是返回值。 如果替换System.out.printlnarrayLength;使用System.out.printlnarrayLengtharray,4; 它应该打印数组中4的索引


同样如注释中所述,arrayLength方法需要是静态的,才能从主方法调用;提供IndexOutOfBoundsException,因为列表为空,因此无法检索第一个元素

public class Generics {
        static int[] array = {2, 4, 6, 8};

        static int arrayLength(int[] array, int value) {

            for (int i = 0; i < array.length; i++) {

                if(array[i]==value) {
                    return i;
                }
            }
            return -1;
        }

        public static void main(String[] args) {
            System.out.println(arrayLength(array, 2));
            System.out.println(arrayLength(array, 4));
            System.out.println(arrayLength(array, 6));
            System.out.println(arrayLength(array, 8));
        }
    }

抱歉,您的代码不完整且不可读。请发布所有内容,并正确设置格式。IDE只需一个键盘快捷键即可完成此操作。您必须从main.add static到arrayLength方法调用此方法您正在尝试打印名为arrayLength的变量。虽然允许使用相同名称的方法,但它们是不同的概念。除了lambda表达式的de上下文之外,没有括号的标识符始终是变量,但这是另一回事。