永发信息网

java 学生平均身高问题

答案:1  悬赏:0  手机版
解决时间 2021-12-22 18:18
  • 提问者网友:听门外雪花风
  • 2021-12-22 10:22
使用面向对象思想,编写Java程序。键盘接收用户输入的5位学生(Student)的姓名(name)和身高(height,单位是米),输出这些学生的平均身高。运行结果如图3所示。
要求:使用循环和数组实现这些功能。
注意:使用面向对象思想编程,并计算5位同学的平均身高。 收起
1) 按要求定义学生类Student。该类中包含2个属性:
Ø 学生姓名 name
Ø 身高(单位:米) height
Ø 书写getAvg()方法,实现计算平均身高。
2) 编写测试类Test。在Test类中给学生类Student属性赋值,并调用方法在控制台输出结果:
(1) 声明长度为5的Student类型数组;
(2) 循环接收用户输入的5位同学的信息;
(3) 调用getAvg()方法,获取所有同学身高的平均值;
最佳答案
  • 五星知识达人网友:大漠
  • 2021-12-22 10:50
学生类
package student;

public class Student {
    private String name;// 学生姓名
    private Float height;// 学生身高

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Float getHeight() {
        return height;
    }
    public void setHeight(Float height) {
        this.height = height;
    }

}工具类
package student;

public class HeightUtil {
    public Float getAvg(Student[] stuList){
        Float sum = 0f;
        for (Student student : stuList) {
            sum = sum + student.getHeight();
        }
        return sum/stuList.length;
    }
}测试类


package student;

import java.util.Scanner;

public class Test {

    public static void main(String[] args) {
        Student[] stus = new Student[5];// 长度为5的数组
        Scanner sc1 = new Scanner(System.in); 
        Scanner sc2 = new Scanner(System.in); 
        for (int i = 0; i < 5; i++) {
            Student stu = new Student();
            System.out.println("请输入第" + (i+1) + "位同学的姓名:");
            String name = sc1.nextLine(); 
            System.out.println("请输入第" + (i+1) + "位同学" + name + "的身高:");
            String height = sc2.nextLine(); 
            while(!height.matches("-?[0-9]+.*[0-9]*")){
                System.out.println("身高格式错误,请重新输入," + "请输入第" + (i+1) + "位同学" + name + "的身高:");
                height = sc2.nextLine();
            }
            stu.setName(name);
            stu.setHeight(Float.valueOf(height));
            stus[i] = stu;
        }
        HeightUtil hu = new HeightUtil();
        Float pingjun = hu.getAvg(stus);
        System.out.println("五位同学平均身高是:" + pingjun);
    }

}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯