Java 仅打印一个数组列表并求平均值

Java 仅打印一个数组列表并求平均值,java,arrays,list,Java,Arrays,List,我有一个java数组列表,我可能需要输入一个代码,只打印名为Artan的行,另一个是打印平均年龄。代码如下: public class Student { public int nr; public String name; public int age; public String sex; public int tall; public int weight; Student(int nr, String name, int

我有一个java数组列表,我可能需要输入一个代码,只打印名为Artan的行,另一个是打印平均年龄。代码如下:

public class Student 
{
    public int nr;
    public String name;
    public int age;
    public String sex;
    public int tall;
    public int weight;
        Student(int nr, String name, int age, String sex, int tall, int weight) {

    this.nr = nr;
    this.name = name;
    this.age = age;
    this.sex = sex;
    this.tall = tall;
    this.weight = weight;
        }
    public static void main (String[] args)
        {
        Student[] arr;
        arr = new Student[10];
        arr[0] = new Student (1, "Artan", 19, "M", 175, 74);
        arr[1] = new Student (2, "Ertan", 30, "M", 179, 80);
        arr[2] = new Student (3, "Jin", 25, "M", 175, 75);
        arr[3] = new Student (4, "Isabella", 28, "F", 165, 54);
        arr[4] = new Student (5, "Anita", 21, "F", 164, 53);
        arr[5] = new Student (6, "Daniel", 32, "M", 180, 82);
        arr[6] = new Student (7, "Anton", 32, "M", 178, 75);
        arr[7] = new Student (8, "Miroslav", 40, "M", 186, 83);
        arr[8] = new Student (9, "Michael", 50, "M", 190, 95);
        arr[9] = new Student (10, "Katarina", 62, "F", 160, 74);

        for (int i = 0; i <= arr.length; i++)
            System.out.println("Student List: "+ arr[i].nr+ " " + arr[i].name+" "+ arr[i].age +" "+ arr[i].sex+" "+ arr[i].tall+"cm  "+ arr[i].weight+"kg");
    }


    }
公共班级学生
{
公共int nr;
公共字符串名称;
公共信息;
公共性;
公众综合大楼;
公共权重;
学生(整数编号、字符串名称、整数年龄、字符串性别、整数身高、整数体重){
这个。nr=nr;
this.name=名称;
这个。年龄=年龄;
这个。性=性;
this.tall=高;
重量=重量;
}
公共静态void main(字符串[]args)
{
学生[]arr;
arr=新生[10];
arr[0]=新生(1,“阿坦”,19,“M”,175,74);
arr[1]=新生(2,“二滩”,30,“米”,179,80);
arr[2]=新生(3,“Jin”,25,“M”,175,75);
arr[3]=新生(4,“伊莎贝拉”,28,“F”,165,54);
arr[4]=新生(5,“Anita”,21,“F”,164,53);
arr[5]=新生(6,“丹尼尔”,32,“M”,180,82);
arr[6]=新生(7,“安东”,32,“M”,178,75);
arr[7]=新生(8,“米罗斯拉夫”,40,“M”,186,83);
arr[8]=新生(9,“迈克尔”,50,“米”,190,95);
arr[9]=新生(10,“卡特琳娜”,62,“F”,160,74);

对于(int i=0;i我将@Override
toString()

并使用

Stream.of(arr)
        .filter(x -> x.name.equals("Artan"))
        .forEach(System.out::println);
计算所有学生的平均年龄:

Double avg = Stream.of(arr)
        .mapToDouble(x -> x.age)
        .average()
        .getAsDouble();
System.out.println(String.format("Average: %s", avg));

这是家庭作业吗?你尝试过什么?列表在哪里?要计算平均值,你应该在循环内定义和变量,并在每次迭代中加上当前学生的年龄,然后根据学生人数除以这个和。要找到有名字的学生,请在循环内使用if语句。
i列表是空的。如何为和if f编写循环还是这两个?首先:这里没有“数组列表”,而是一个
Student
实例数组。
Double avg = Stream.of(arr)
        .mapToDouble(x -> x.age)
        .average()
        .getAsDouble();
System.out.println(String.format("Average: %s", avg));
for (int i = 0; i < arr.length; i++){
  if (arr[i].name.equals("Artan")){
    System.out.println("Student List: "+ arr[i].nr+ " " + arr[i].name+" "+ arr[i].age +" "+ arr[i].sex+" "+ arr[i].tall+"cm  "+ arr[i].weight+"kg");
  } 
}
System.out.println("Student : " + arr[i]);