为什么我的返回值只返回一个

img


不是for循环遍历数组吗?怎么就只输出了一个大于20的?要怎么改?

public static int[] name(int[] a) {
    List<Integer> b = new ArrayList<>();
    for(int i : a) {
        if (i >= 20) {
            b.add(i);
        }
    }
    int[] bb = new int[b.size()];
    for (int i = 0; i < bb.length; i++) {
        bb[i] = b.get(i);
    }
    return bb;
}
public static void main(String[] args){
    System.out.println(Arrays.toString(name(new int[]{22, 3, 4, 112, 45, 23})));
}

执行return后,这段程序就结束了,不会继续进行下去了。所以你应该把需要返回的值存在一个数组中,然后return这个数组

虽然我是Python程序员,但我也遇到过这种问题,后来才知道,不论是什么编程语言,返回值后就不会再运行了,因此只返回一个值

不要返回值,弄一个数组或者变量存储,