我是java的初学者,我正在尝试编写一个java代码,程序必须计算超类中的算术平均值和子类中的标准差。
这是我的代码:
import java.util.*;
class ArithmeticMean
{
double sum=0, mean, variance, sd, vsum;
double a[] = new double[10];
int n,i;
void accept()
{
Scanner scanner = new Scanner(System.in);
System.out.println("How many Numbers do you want to enter?");
n=scanner.nextInt();
for(i=0; i<n; i++)
{
System.out.println("Enter No ["+(i+1)+"] : ");
a[i] = scanner.nextInt();
}
}
void calculate()
{
for(i=0; i<n; i++)
{
sum = sum + a[i];
mean = sum/n;
}
}
}
class StandardDeviation extends ArithmeticMean
{
void calculateSd()
{
for(i=0; i<n; i++)
{
vsum = vsum+((a[i]-mean)*(a[i]-mean));
variance = vsum/(n-1);
sd=Math.sqrt(variance);
}
}
void display()
{
System.out.println("Arithmetic mean = "+mean);
System.out.println("Variance = "+variance);
System.out.println("Standard Deviation = "+sd);
}
}
class u3Program9
{
public static void main(String args[])
{
StandardDeviation s = new StandardDeviation();
s.accept();
s.calculate();
s.calculateSD();
s.display();
}
}
以下是我遇到的错误:
答案 0 :(得分:1)
Java是区分大小写的编程语言。
您已在StandardDeviation类中定义
的形式加入calculateSd()
并在StandardDeviationcalculateSD()
的实例上调用s.calculateSD()
。它应该以{{1}}
答案 1 :(得分:1)
您的方法声明为calculateSd
,
在您的主要方法更改
s.calculateSD();
到
s.calculateSd();
答案 2 :(得分:0)
您输入的方法名称失败。
您在StandardDeviation类中的方法:calculateSd
。
您调用方法:calculateSD
。
您需要将方法编号重写为大写或小写。
答案 3 :(得分:0)
错误消息说它找不到名为&#39; calculateSD()&#39;的符号。在StandardDeviation类中。
这给了一个线索。该方法定义为&#39; calculateSd()&#39;在StandardDeviation.class中,小写&#39; d&#39;在后面。