嘿,我有一个发出错误的代码。不知道为什么和如何。但是有人可以帮我吗?

错误:


  /tmp/codecheck.rA4OvRYwJM/InterfaceTester.java:6:错误:构造函数
  Sphere类中的Sphere无法应用于给定类型;

   GeometricSolid shape = new Sphere(10);
                          ^   required: no arguments   found: int

  
  原因:实际和正式论点清单的长度不同
  
  /tmp/codecheck.rA4OvRYwJM/InterfaceTester.java:10:错误:构造函数
  
  Sphere类中的Sphere无法应用于给定类型;

   shape = new Sphere(1);
           ^   required: no arguments   found: int

  
  原因:实际参数和形式参数列表的长度不同2错误


这是我的代码,以及指向codecheck 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;
    }
}

最佳答案

您必须向Sphere类添加一个构造函数,该构造函数将半径作为参数并将其传递给变量。
例如:

public Sphere(double radius){
     this.radius = radius;
}

关于java - Codecheck不允许我通过,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50113426/

10-11 22:54