数组中显示的数字仅大于45(是一个完整的初学者)

时间:2019-05-24 09:40:47

标签: java arrays

编写一个程序,创建一个大小为7的整数数组,其中包含以下值:

{31, 24, 65, 41, 13, 22, 76} 

然后,程序应显示数组中的所有项目 仅大于45。

它不会显示大于45的数字

import java.util.Arrays;
import java.util.ArrayList;

public class ArrayToArrayList {
    public static void func1(int arr[]) {
        ArrayList<Integer> array_list = new ArrayList<Integer>();
        for (int i = 0; i < arr.length; i++)
            array_list.add(new Integer(arr[i]));
        System.out.print(array_list);
    }

    public static void main(String[] args) {
        int array[] = { 31, 24, 65, 41, 13, 22, 76 };
        func1(array);
    }
}

4 个答案:

答案 0 :(得分:3)

这是一个非常简单的任务。

public static void main (String[] args) {
    int array[] = { 31, 24, 65, 41, 13,22,76 };
    Arrays.stream(array).filter(i -> i > 45).forEach(System.out::println);
  }

或者如果您不想使用流:

for (int i : array) {
      if (i > 45) { // filter all elements lower or equal to 45
        System.out.println(i);
      }
}

我建议您更加努力地学习,因为这很基础。

答案 1 :(得分:1)

int[] d = { 31, 24, 65, 41, 13,22,76 };
ArrayList<Int> resultList = Arrays.stream(d).filter(x -> x > 45).toArray();
resultList.forEach(System.out::println);

答案 2 :(得分:1)

考虑到您只是初学者,所以不想使用所有高级Java功能来吓you您。

尽管所有答案都是可以自我解释和有效的,但对于初学者来说,可能要花一些时间。

对于初学者,代码可以写成一行或您可以理解的行。

您可以简单地过滤出大于45的值

public class ArrayToArrayList 
{
    public static void func1(int arr[])
    {
        ArrayList<Integer> array_list = new ArrayList<Integer>();
        for (int i = 0; i < arr.length; i++) {
            array_list.add(new Integer(arr[i])); }
        for(int j=0; j<array_list.size() ; j++){
            if(array_list.indexOf(j) < 45){
                array_list.remove(j);
            }
        }
        System.out.print(array_list);
    }
    public static void main(String[] args)
    {
        int array[] = { 31, 24, 65, 41, 13, 22, 76 };
        func1(array);
    }

}

答案 3 :(得分:-1)

@Erwin: 我无法在您的代码中的任何地方看到以45为单位比较array的值。 除非另外需要,否则无需在ArrayList中添加值。 只需sysout,将@Stephan

建议的那些值放在数组循环的45内