日期:2014-05-20  浏览次数:20814 次

简单程序,大哥们帮我调试下,生成小对象
Java code
public class d
{
    int aaa = 3;
    public static void main(String args[])
    {
       Cylinder obj = new Cylinder();
       obj.area();
           
    }
    
private class Cylinder
{
    double radius;
    int height;
    double pi=3.14;
    void area()
    {
        System.out.println("圆柱体面积="+(pi*radius*radius) * aaa);
    }
    void volume()
    {
        System.out.println("圆柱体体积="+(((pi*radius*radius))*height));
    }
}
} 


------解决方案--------------------
给你修改了下
Java code

package ceshi;

public class d
{
    int aaa = 3;
    public static void main(String args[])
    {
       Cylinder obj = new Cylinder();
       obj.area();
           
    }
} 

class Cylinder {
    double radius;
    int height;
    double pi = 3.14;

    void area() {
        double aaa = 0;         //你没有定义aaa  需要自己定义并给所需要的值
        System.out.println("圆柱体面积=" + (pi * radius * radius) * aaa);
    }

    void volume() {
        System.out.println("圆柱体体积=" + (((pi * radius * radius)) * height));
    }
}

------解决方案--------------------
public class d
{
int aaa = 3;
public static void main(String args[])
{
Cylinder obj = new Cylinder();
obj.area(aaa);

}

public class Cylinder
{
double radius;
int height;
double pi=3.14;
void area(int aaa)
{
System.out.println("圆柱体面积="+(pi*radius*radius) * aaa);
}
void volume()
{
System.out.println("圆柱体体积="+(((pi*radius*radius))*height));
}
}


------解决方案--------------------
Java code

public class Test
{
    
    public static void main(String args[])
    {
       Cylinder obj = new Cylinder();
       obj.area(10.0,5);
           
    }
}
class Cylinder
{
    
    double pi=3.14;
    void area(double radius,int height)     
    {
        //不过你的圆柱体表面积计算公式好像有问题吧,应该是(2π*R*R+2π*R*H)
        System.out.println("圆柱体面积="+(pi*radius*radius) );
    }
    void volume(double radius,int height)
    {
        System.out.println("圆柱体体积="+(((pi*radius*radius))*height));
    }
} 

class Cylinder前不加private

------解决方案--------------------
没仔细看 看样子应该是2楼那样 传一个aaa 过去 2楼正解
------解决方案--------------------
aaa 应该是作为参数传过去的。同意2楼。
------解决方案--------------------
看迷糊了
------解决方案--------------------
引用楼主 sure2003 的帖子:
Java codepublic class d
{
int aaa = 3;
public static void main(String args[])
{
Cylinder obj = new Cylinder();
obj.area(aaa);

}

private class Cylinder
{
double radius;
int height;
double pi=3.14;
void area(int aaa)
{
System.out.println("圆柱体面积="+(pi*radius*radius) * aaa); //aaa在Cylinder中没定义,可以用参数传进去
}
void volume()
{


------解决方案--------------------
2楼的 obj.area(aaa); 是不是有问题? 我测试了一下提示不能对静态字段进行静态引用。

小弟愚钝请指教

------解决方案--------------------
用传值的应该比较好吧
------解决方案--------------------