首页 > 解决方案 > 程序显示区域为“0”

问题描述

该程序计算球体的面积和体积。这是一个家庭作业问题,所以不能改变很多格式。

我认为这里的主要问题是变量范围,但是我无法识别它。

import  java.util.*;

class Data

{

     double r;
     public void gdata()

     {

          System.out.println("Enter Radius");
          Scanner s = new Scanner(System.in);
          r=s.nextFloat();
     }

}

class Area extends Data

{

     double area;
     public void calculate()
     {area = r*r*3.14;}
     public void display()

    {

        Area obj = new Area();
        obj.calculate();
        System.out.println("Area of Circle= "+area);}

    }
}

class  Volume extends Area 

{

    final double pi=3.141;
    double v;
    public void calculate()
    {v=(4*r*r*r*pi)/3;}
    public void display()

    {   

        Volume obj = new Volume();
        obj.calculate();
        System.out.println("Volume of Sphere= "+v);}

    }


class Postlab

{

    public static void main(String args[])

    {

        Area obj1 = new Area();
        Area obj2 = new Volume();
        obj1.display();
        obj2.display();

    }

}

标签: javamethods

解决方案


在某些时候,您必须调用Data's gdata(),否则r将始终为 0。


推荐阅读