2014-12-05 3 views
0

저는 Java 프로그램을 사용하여 생성자를 사용하고 생성자를 만드는 방법을 배웠습니다. 웬일인지, 나는 계속 내 프로그램이 기호를 찾을 수 없다는 것을 알리는 오류가 발생한다.객체 컴파일 오류를 인스턴스화

다음은 자원 클래스의 :

public class Pizza 
{ 
    private int size; 
    private String topping; 
    private double cost; 


    public Pizza() 
    { 
     size = 10; 
     topping = "cheese"; 
     cost = 9.00; 
    } 

    public Pizza(int s, String t, double c) 
    { 
     s = size; 
     t = topping; 
     c = cost; 
    } 

    public int getSize() { 
     return size; 
    } 

    public void setSize(int s) { 
     s = size; 
    } 

    public String getTopping(){ 
     return topping; 
    } 

    public void setTopping(String t){ 
     topping = t; 
    } 

    public void setCost(double c) { 
     cost = c; 
    } 

    public double getCost(double c){ 
     return cost; 
    } 


    public String toString() 
    { 
     return String.format("%d inch %s pizza will cost $%,.2f\n", size, topping, cost); 

    } 
} 

그리고 여기에 드라이버 클래스입니다 : 내가 코드를 자세히 조사했습니다

public class PizzaTest 
{ 
    public static void main(String[] args) 
    { 

     Pizza orderTwo = new Pizza(); 

     System.out.printf("%-25s %s", "Pizza #1", orderTwo); 
    } 
} 

,하지만 난 어떤 문법적인 실수를 찾을 수 없습니다. 모든 조언을 부탁드립니다. 컴파일러 오류 :

PizzaTest.java:6: error: cannot find symbol Pizza orderTwo = new Pizza(); 
^ symbol: class Pizza location: class PizzaTest 
PizzaTest.java:6: error: cannot find symbol Pizza orderTwo = new Pizza(); 
^ symbol: class Pizza location: class PizzaTest 
2 errors 
+0

가 오류의 정확한 텍스트를 공유 주시겠습니까 제거하고 당신이 그것을 받고있어 어디? – Mureinik

+0

PizzaTest.java:6 : 오류 : 기호를 찾을 수 없습니다 피자 orderTwo = 새로운 피자(); ^ 기호 : 클래스 피자 위치 : 클래스 PizzaTest PizzaTest.java:6 : 오류 : 기호를 찾을 수 없습니다. 피자 orderTwo = 새로운 피자(); ^ 기호 : 클래스 피자 위치 : 클래스 PizzaTest 2 개의 오류 – Michael

+3

동일한 패키지에 '피자'와 '피자 테스트'가 있습니까? – Mureinik

답변

-1

오류가 그것은 다른 방법으로 주위에는 setSize에서 또한

public Pizza(int s, String t, double c) 
    { 
     sise = s; 
     topping = t; 
     cost = c; 
    } 

(해야

public Pizza(int s, String t, double c) 
    { 
     s = size; 
     t = topping; 
     c = cost; 
    } 

인 곳입니다)를 사용하면 그것을 반전 된 방법이 기능 마찬가지로

+1

그는 기본 생성자를 사용하고 자신의 기본 생성자가 다른 생성자를 호출하지 않기 때문에 중요하지 않다고 생각합니다. – Biu

+0

나는 당신이 말한 것을 시도했지만 아무 것도 시도하지 않았다. 여전히 같은 오류가 있습니다. – Michael

+2

이것은 의미 론적 오류이지만 컴파일 오류를 설명하지는 않습니다. – EJP

0

PizzaTest 클래스에서 Pizza 클래스에 대한 참조를 가져와야 할 가능성이 높습니다.

import <packagename>.Pizza; 
0

은 분명히 PizzaPizzaTest는 다른 패키지에 당신은 PizzaTest에 같은 적절한 import 문을 추가하지 않았습니다.

-1

이 방법의 매개 변수의 존재가 없어야의 double c

public double getCost(double c){ 
    return cost; 
} 
+1

이것은 코드에 문제가 있지만 컴파일러 문제를 해결하지는 않습니다. –

+0

그의 클래스가 같은 패키지에 있다고해도, 그는 여전히이'getCost (double c)'메소드에서 에러를 얻습니다. – Biu

+1

아니, 그렇지 않을 수도 있습니다. 이것은 매개 변수가 사용되지 않았기 때문에 완전히 받아 들일 수있는 방법입니다.확인하려면 위의 코드를 복사하여 붙여넣고 가장 확실하게 컴파일 할 때 실행하십시오. –