0

所以这是我第一次使用 Stackoverflow,这是我正在构建的气球程序。这也是我第一次构建要在主程序中调用的独立类,我觉得我不理解一些基本的东西。

import java.util.Scanner;

public class Inflate
   {
    public static void main(String[] args)
        {
            //Part 1: Open Scanner
            Scanner keyboard = new Scanner(System.in);

            //Part 2: Create a balloon and inflate it
            System.out.println("To what radius would you like to inflate the balloon? ");
            Balloon newBalloon = new Balloon();
            newBalloon.setRadius(keyboard.nextDouble());

            //Part 3: Get the new volume
            System.out.println("The volume is: " + newBalloon.volume);

            //Part 4: Close scanner
            keyboard.close();
        }
}                       

class Balloon
{
    private double radius;
    public double volume;

    Scanner keyboard = new Scanner(System.in);

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

    public double getVolume()
        {
            volume=radius*radius*radius*Math.PI;
            return volume();
        }
}

主要问题是我的第 38 行:return volume 表明该符号未找到,尽管它是在 Balloon 类的开头创建的。

另外,我不认为我的第 13 行:newBalloon.setRadius 正在使用正确的方法来定义新的半径。

谢谢你的帮助。

4

1 回答 1

4

volume是一个字段。删除括号

return volume;
             ^

详细说明这一点:volume()意味着您正在尝试执行一个volume不带参数的调用方法。通过删除括号,编译器会将其视为您拥有的变量。你打电话是newBalloon.setRadius正确的。

但请记住命名约定:变量以小写字符开头,除非它们是常量。

于 2013-11-04T00:21:19.030 回答