使用面向对象思想,编写Java程序。键盘接收用户输入的5位学生(Student)的姓名(name)和身高(height,单位是米),输出这些学生的平均身高。运行结果如图3所示。
要求:使用循环和数组实现这些功能。
注意:使用面向对象思想编程,并计算5位同学的平均身高。 收起
1) 按要求定义学生类Student。该类中包含2个属性:
Ø 学生姓名 name
Ø 身高(单位:米) height
Ø 书写getAvg()方法,实现计算平均身高。
2) 编写测试类Test。在Test类中给学生类Student属性赋值,并调用方法在控制台输出结果:
(1) 声明长度为5的Student类型数组;
(2) 循环接收用户输入的5位同学的信息;
(3) 调用getAvg()方法,获取所有同学身高的平均值;
java 学生平均身高问题
答案:1 悬赏:0 手机版
解决时间 2021-12-22 18:18
- 提问者网友:听门外雪花风
- 2021-12-22 10:22
最佳答案
- 五星知识达人网友:大漠
- 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);
}
}
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);
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯