请问一个static返回值的问题!!!!!
static double sum(double [] a ) //求数组的总和
{
double sum=0;
for(int i=0;i<a.length;i++)
{
sum+=a[i];
}
return sum;
}public static void main(String[] args) {
Calculate c=new Calculate();
double [] a={1.0,2.0,3.0};
for(int i=0;i<a.length;i++)
{
System.out.print("sum = "+c.sum(a[i]));
}
}
为什么出错啊!!!!!!!!!!!! c.sum(a[i]) 它说double值找不到!! 求助!!
static double sum(double [] a ) //求数组的总和
{
double sum=0;
for(int i=0;i<a.length;i++)
{
sum+=a[i];
}
return sum;
}public static void main(String[] args) {
Calculate c=new Calculate();
double [] a={1.0,2.0,3.0};
for(int i=0;i<a.length;i++)
{
System.out.print("sum = "+c.sum(a[i]));
}
}
为什么出错啊!!!!!!!!!!!! c.sum(a[i]) 它说double值找不到!! 求助!!
System.out.println("sum = "+sum(a));
如果不在的话可以这样
System.out.println("sum = "+类名.sum(a));
System.out.print("sum = "+c.sum(a[i]));
我这里的 sum(a[i]) 还是会报错~~~~~~~~~~~~ ,请高手指导!!!public class Calculate {
static double sum(double [] a )
{
double sum=0;
for(int i=0;i<a.length;i++)
{
sum+=a[i];
}
return sum;
}
}public class Test {
public static void main(String[] args) {
Calculate c=new Calculate();
double [] a={1.0,2.0,3.0};
for(int i=0;i<a.length;i++)
{
System.out.println("sum = "+Calculate.sum(a[i]));
}
}
}
static double sum(double [] a )
从方法申明中可知道你传给这个方法的参数是个double型的数组,但是在你的调用却是这样的 :
***.sum(a[i]),你传了double型的参数,但并不是数组。
public class Calculate {
double sum(double [] a )
{
double sum=0;
for(int i=0;i <a.length;i++)
{
sum+=a[i];
}
return sum;
}
public static void main(String[] args) {
Calculate c=new Calculate();
double [] a={1.0,2.0,3.0}; System.out.println("sum = "+c.sum(a));
}
}返回的是a,是个指针。而楼主的a[i]是个元素。一般java不推荐使用指针
double [] a={1.0,2.0,3.0};
//求和的过程在你的方法里面已经实现所以循环没有必要.
// for(int i=0;i <a.length;i++)
// {
//a[i] 是一个数 而你的方法需要一个数组
// System.out.print("sum = "+c.sum(a[i]));
//直接传a 就可以了.
System.out.print("sum = "+c.sum(a)); // }
}
你的sum函数的参数是一个double[]引用2个东西不一样,怎么可能穿的进去
你这样就行了
System.out.print("sum = " + c.sum(a));把数组作为参数传递,而不是把一个double值作为参数传递,因为你的方法是以数组作为参数!!!
{
System.out.println("sum = "+Calculate.sum(a[i]));
}
改为System.out.println("sum = "+Calculate.sum(a));
参数类型要一致
而你传递的参数是一个double(浮点型)。
代码修改如下 static double sum(double[] a) // 求数组的总和
{
double sum = 0; for (int i = 0; i < a.length; i++) {
sum += a[i];
}
return sum;
} public static void main(String[] args) {
double[] a = { 1.0, 2.0, 3.0 };
System.out.print("sum = " + Calculate.sum(a));
}
{
double sum = 0; for (int i = 0; i < a.length; i++) {
sum += a[i];
}
return sum;
} public static void main(String[] args) {
double[] a = { 1.0, 2.0, 3.0 };
System.out.print("sum = " + Calculate.sum(a));
}
这样就可以了,还有你不是要计算和吗?你为什么
for(int i=0;i <a.length;i++)
{
System.out.print("sum = "+c.sum(a[i]));
}
这么些啊,sum不是都给你完成了吗?