嘿,我有一个发出错误的代码。不知道为什么以及如何。但有人可以帮我这个吗?
错误:
/tmp/codecheck.rA4OvrywJM/InterfaceTester.java:6:错误:构造函数 类Sphere中的球体不能应用于给定类型;
GeometricSolid shape = new Sphere(10); ^ required: no arguments found: int
原因:实际和正式的参数列表长度不同
/tmp/codecheck.rA4OvrywJM/InterfaceTester.java:10:错误:构造函数
Sphere类中的球体不能应用于给定类型;
shape = new Sphere(1); ^ required: no arguments found: int
原因:实际和正式的参数列表长度不同2错误
这是我的代码和代码检查http://www.codecheck.it/files/18040616263h5pl4lvxfmzj6u9w7xty4dfu
的链接 /**
* Write a description of class asdasdasd here.
*
* @author (your name)
* @version (a version number or a date)
*/
public interface GeometricSolid
{
public double volume();
}
import java.util.*;
public class Sphere implements GeometricSolid
{
double radius;
/**
* Gets the volume of sphere
* @return volume volume of sphere
*/
public double volume()
{
double volume = 4.0 * Math.PI * Math.pow(this.radius, 3) / 3.0;
return volume;
}
/**
* Get radius of sphere
* @return the radius of sphere
*/
public double getRadius()
{
return radius;
}
/**
* set radius for sphere
* @param newRadius of a sphere
*/
public void setRadius(int newRadius)
{
radius = newRadius;
}
}
答案 0 :(得分:1)
您必须向Sphere
类添加一个构造函数,该类将radius作为参数并将其传递给变量。
例如:
public Sphere(double radius){
this.radius = radius;
}
答案 1 :(得分:0)
在这种情况下,编译器错误非常清楚错误是什么。
要求:没有参数
发现:int
构造函数(在您的情况下是Java自动生成的默认无参数构造函数)不接受任何参数,并且您尝试将整数传递给它。
因为你的球体有一个setter,你可以像这样实例化Sphere
:
Sphere shape = new Sphere();
shape.setRadius(1);
你的二传手拿一个整数但吸气者和场地使用双倍是不寻常的。你应该改变它。