如何在我的主类中访问Java类

时间:2016-02-25 05:47:39

标签: java class methods

如何访问我的" Cone"来自我的#34; Main"类。我得到的错误是我的Main类中的点运算符。我对java非常陌生,所以我真的很困惑你如何访问我在" Cone"任何细节都将非常感谢。谢谢

class Cone {

    public double r;
    public double h;

    public void setRadius() {
        r = r;
    }

    public void setHeight() {
        h = h;
    }

    public double volume(double r, double h) {
        double v;
        v = Math.PI * Math.pow(r, 2) * (h / 3);
        return v;
    }

    public double surfaceArea(double r, double h) {
        double sa;
        sa = Math.PI * r * (r + Math.sqrt(Math.pow(h, 2) + Math.pow(r, 2)));
        return sa;
    }

}

class Main {

    public static void main(String args[]) {

        double r;
        double h;

        Cone cone = new Cone();

        for (double i = 0; i < 10; i++) {
            cone.volume(r);
            cone.volume(h);

            System.out.printf("Volume =  %d\n", cone.Volume());
        }
    }
}

6 个答案:

答案 0 :(得分:0)

我认为你的错误是cone.Volume()应该是cone.volume()。而且,您需要提供参数。我会通过删除那些set方法并添加一个参数化构造函数来修改Cone类,如下所示:

public Cone(double r, double h)
{
  //initialize fields
  this.r = r;
  this.h = h
}

答案 1 :(得分:0)

第一次错误更新您的代码

 public void setRadius(double r)
    {
        this.r = r;

    }

    public void setHeight(double h)
    {
        this.h = h;

    }

答案 2 :(得分:0)

您可以按setter设置值,但在您的代码中,变量的setter没有任何可接受的参数:

public void setRadius(double r) {
    this.r = r;
}

答案 3 :(得分:0)

首先,您可能需要一个可以初始化维度的构造函数

public Cone(double r, double h){
    this.r = r;
    this.h = h;
}

接下来,您的volume方法需要两个双参数

//use this
cone.volume(r,h);
//not this
cone.volume(r);
cone.volume(h);

最后,由于此方法返回带卷的double,您将需要另一个双变量来捕获它以供以后使用

double v = cone.volume(r,h);

答案 4 :(得分:0)

  1. 将您的Main类声明为public。 (建议)
  2. cone.volume()需要2个参数。您不能一个接一个追加2个参数。而不是cone.volume(r); cone.volume(H);你需要在单个语句中传递r和h,如:cone.volume(r,h);因为你提到了原始音量(par1,par2)。通过setter或使用构造函数为r和h赋值。
  3. 对于基本的开始,仅在Main类中将一些值硬编码为r和h。

答案 5 :(得分:0)

快速解决问题

class Cone 
{
public double r;
public double h;

public void setRadius(double r)
{
    this.r = r;

}

public void setHeight(double h)
{
    this.h = h;

}

public double volume()
{
    double v;

    v = Math.PI * Math.pow(r,2) * (h/3);
    return v;
}

public double surfaceArea()
{
    double sa;

    sa = Math.PI* r * (r + Math.sqrt(Math.pow(h,2) + Math.pow(r,2)));

    return sa;
}

}

class Main
{

 public static void main(String args[ ])
 {
    double r;
    double h;

    Cone cone = new Cone();

    for (double i = 0; i < 10; i++)
    {
               // r and h are not set yet
               r = h = i;  // maybe?
               cone.setRadius(r);
               cone.setHeight(h);

               System.out.printf("Volume =  %d\n", cone.volume( ));
    }
 }
}