求体积JAVA程序,哪里出错了?

来源:百度知道 编辑:UC知道 时间:2024/05/24 01:06:36
我把程序改成这样:

class ymj //圆面积
{
double r;
ymj(double r)
{
this.r=r;
}
double area()
{
return 3.14*r*r;
}
}
class yzt//圆柱体
{
tj(ymj a,double h)
{
double v=a.eara*h;
System.out.println("圆柱体体积="+v);
}
}
class Example3_66
{
public static void main(String arg[])
{
ymj A=new ymj(5);
tj c=new tj(A,10);
}
}

编辑后提示15行:方法声明无效,需要返回值
tj(ymj a,double h)

请问这又是何故?
加了VOID,可还是提示错误
class ymj //圆面积
{
double r;
ymj(double r)
{
this.r=r;
}
double area()
{
return 3.14*r*r;
}
}
class yzt//圆柱体
{
void yzt(ymj a,double h)
{
double v=a.erea()*h;
System.out.println("圆柱体体积="+v);
}
}
class Example3_66
{
public static void main(String args[])
{

构造函数虽然没有返回值,但是是不能加void来修饰的,这是初学者很容易犯的错误!!!!
下面这个是我试过的,不过好像跟楼上的一样哦,不好意思。

class ymj //圆面积
{
double r;
ymj(double r)
{
this.r=r;
}
double area()
{
return 3.14*r*r;
}
}
class yzt//圆柱体
{
yzt(ymj a,double h)
{
double v=a.area()*h;
System.out.println("圆柱体体积="+v);
}
}
class Example3_66
{
public static void main(String arg[])
{
ymj A=new ymj(5);
yzt c=new yzt(A,10);
}
}

你把:tj(ymj a,double h) 改成:void tj(ymj a,double h)
就没问题了! 你没定义返回类型!所以报错!
当你在定义方法时不想要它有返回你可以在方法前加void!表示无返回

每个函数都要有一个返回值类型,构造函数除外!
在你的class yzt中有个 tj(ymj a, double h) 这样一个方法,
没有设定返回值类型,这样是不允许的。

你在前边加上一个void就可以了,表示此函数不返回任何东东。

但我看你的想法呢,是想让tj()为构造函数,这样的话,构造函数需要同类名一致,所以,你将 tj() 改为 yzt() 也是可以的。

class ymj
{
double r;
public ymj(double r) {
this.r=r;
}