2013-11-04 3 views
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)이다.

또한 내 줄 13 : newBalloon.setRadius가 올바른 반지름을 정의하는 방법을 사용하고 있다고 생각하지 않습니다.

도움 주셔서 감사합니다.

답변

4

volume은 필드입니다.

return volume; 
      ^

이에 정교한하려면 괄호를 제거 volume() 당신은 인수가없는 volume라는 방법을 실행하기 위해 노력하고 있다는 것을 의미한다. 괄호를 제거하면 컴파일러는이를 변수로 처리합니다. newBalloon.setRadius에 올바르게 전화하고 있습니다.

명명 규칙 : 변수는 상수가 아니라면 소문자로 시작됩니다.

+0

System.out.println ("볼륨 :"+ newBalloon.volume); 은 System.out.println이어야합니다 ("볼륨은 다음과 같습니다."+ newBalloon.getVolume()); – MGorgon

+0

나는 수업에서 더 멀리 갔기 때문에 두 가지 실수를 모두 보았지만 지적하고 싶다. 늦게까지 돌아 가셔서 사과드립니다.하지만 누군가가 대답했다는 통지를받지 못했습니다. 감사. – Truzen