实验 (5) 项目名称:接口与实现-计算成绩
一、 实验报告内容一般包括以下几个内容:
- 实验项目名称 实验5 接口与实现-计算成绩
- 实验目的和要求
本实验的目的:
本实验的目的是让学生掌握类怎样实现接口
实验具体要求:
跳水比赛计算选手成绩的办法是去掉一个最高分和最低分后再计算平均分,而学校考查一个班级的某科目的考试情况时,是计算全班同学的平均成绩。Diving类和School类都实现了ComputerAverage接口,但实现的方式不同。部分代码如下:
interface ComputerAverage{ //接口ComputerAverage的代码
}
//Diving类都实现了ComputerAverage接口
//School类都实现了ComputerAverage接口
public class E{ //主类
public static void main(String[] args) {
double a[]={9.89,9.88,9.99,9.12,9.69,9.76,8.97};
double b[]={89,56,78,90,100,77,56,45,36,79,98};
......
}
-
实验原理
-
主要仪器设备
(1)学生每人一台PC机;
(2)互联网环境。
实验解答:
ComputerAverage.java
package data20240328;
public interface ComputerAverage {
double average(double[] nums);
}
Diving.java
package data20240328;
import java.util.Arrays;
public class Diving implements ComputerAverage{
public double average(double[] nums)
{
Arrays.sort(nums);
double sum=0;
for(int i=1;i<nums.length-1;++i)
sum+=nums[i];
return sum/(nums.length-2);
}
}
School.java
package data20240328;
public class School implements ComputerAverage{
public double average(double[] nums)
{
double sum=0;
for (double num : nums)
sum += num;
return sum/nums.length;
}
}
E.java
package data20240328;
public class E {
public static void main(String[] args) {
double[] a={9.89,9.88,9.99,9.12,9.69,9.76,8.97};
double[] b={89,56,78,90,100,77,56,45,36,79,98};
Diving diving = new Diving();
School school = new School();
System.out.printf("跳水选手的得分为: %.2f\n",diving.average(a));
System.out.printf("班级的平均分为: %.2f",school.average(b));
}
}