算体积的JAVA程序,请高手看看哪里有错。

来源:百度知道 编辑:UC知道 时间:2024/05/17 21:58:18
程序如下

class tiji
{
void data(int r,int h)
{
return 3.14*r*r*h;
}
}
public class Example3_6
{
public static void main(String[] arg)
{
tiji a=new tiji();
int v;
v=a.data(10,10);
System.out.println("体积="+v);
}
}

编译后出错提示如下
14行:不兼容的类型。
找到:VOID
需要:INT
v=a.data(10,10);

void data(int r,int h)
{
return 3.14*r*r*h;
}
因为
return 返回的是 3.14*r*r*h。虽然r和h都是int类型,但3.14是double类型,所以这个表达式的返回类型是double类型。而你用了void类型的方法。所以报错了。试着改为
double data(int r,int h)
{
return 3.14*r*r*h;
}
看可不可以。

class tiji
{
double data(int r,int h)
{
return 3.14*r*r*h;
}
}
public class Example3_6
{
public static void main(String[] arg)
{
tiji a=new tiji();
double v;
v=a.data(10,10);
System.out.println("体积="+v);
}
}

void data(int r,int h)
{
return 3.14*r*r*h;
}
写了个void型的方法,干嘛要return返回值呢。 改成
double data(int r,int h)
{
return 3.14*r*r*h;
}

错误一:arg应该是args
错误二:有viod就不能有return,两者不能同时存在。因为void是不返回任何值,return是返回值语句。
错误三:结果可能是小数,在定义体积时应该设置为double型

编译后出错提示如下
14行:不兼容的类型。
找到:VOID
需要:INT
v=a.data(10,10);
-------------------------