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

时间:2018-10-27 10:40:48

标签: java

我正在处理此代码以打印此数组中的位置,并且我想在获取返回值时所有代码都正确,但是我无法获取任何值。在屏幕上打印。我尝试调用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);
        }
      }

2 个答案:

答案 0 :(得分:1)

我相信您正在尝试打印功能而不是返回值。 如果您将System.out.println(arrayLength);替换为System.out.println(arrayLength(array, 4)); 它应该在数组中打印索引为4

还如注释中所述,arrayLength方法需要为静态的,才能从main方法中调用

答案 1 :(得分:0)

注意:整数s = list.get(0);给出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));
        }
    }