Description
工厂生产球体,目标半径是100毫米,请根据给定数据,利用静态域和静态方法,统计产品的平均误差。要求定义一个球类,拥有
一个私有浮点数据成员半径,以及带参数的构造函数,特别是有对象个数,总半径和、总误差绝对值和的静态域。在主函数中读取
多组球体数据,构造多个对象,然后输出所有球体平均半径和平均误差,均为浮点数,保留2位小数。
要求:必须以静态域的方式实现。当多组的时候,要有重置这些静态域为0的静态方法。
Input
第一行是一个整数,表示球体个数N,其后为N组数据,每一-组为球体半径。
Output
输出所有球体的平均半径和平均误差,中间用","分隔,保留2位小数。
package CLASSlei;
import java.util.Scanner;
class balls{
private double r;
static int counter=0;//个数
static double rsum=0;//总半径和
static double wuchasum=0;//总误差绝对值和
balls(double r){
this.r=r;
}
public double getr(){
return r;
}
public void 加球(double rr){
counter++;
rsum+=rr;
}
public void 加误差(double wucha) {
wuchasum += wucha;
}
public double 返回总半径和(){
return rsum;
}
public double 返回总误差绝对值(){
return wuchasum;
}
}
public class J {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
int n=input.nextInt();
double r[]=new double[n];
balls s=new balls(0);
for(int i=0;i<n;i++){
r[i]=input.nextDouble();
s=new balls(r[i]);
s.加球(r[i]);
}
double pinjun=s.返回总半径和()/n;
for (int i=0;i<n;i++){
s.加误差(Math.abs(pinjun-r[i]));
}
System.out.printf("%.2f,%.2f\n",pinjun,s.返回总误差绝对值()/n);
}
}