2014-12-05 5 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: ошибка: не удалось найти символ Заказ пиццыДва = новая пицца(); ^ символ: класс Pizza местоположение: класс PizzaTest PizzaTest.java:6: ошибка: не удалось найти символ Заказ пиццыTwo = new Pizza(); ^ символ: класс Pizza местоположение: класс PizzaTest 2 ошибки – Michael

+3

Являются ли 'Pizza' и' PizzaTest' в том же пакете? – Mureinik

ответ

-1

Это где ошибка

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

Это должно быть наоборот

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

Также в SetSize() функцию, которую вы ему перевернутое путь а также

+1

Я не думаю, что это имеет значение, так как он использовал конструктор по умолчанию, а его конструктор по умолчанию не вызывает другой конструктор. – Biu

+0

Я пробовал то, что вы сказали, но не ушел. По-прежнему такая же ошибка. – Michael

+2

Это семантические ошибки, но они не объясняют его ошибки компиляции. – EJP

0

Вам, скорее всего, потребуется импортировать ссылку на класс Pizza из класса PizzaTest.

import <packagename>.Pizza; 
0

Pizza Очевидно, в другом пакете от PizzaTest и вы не добавили import о соответствии с характеристиками имеющейся в PizzaTest.

-1

Там не должно быть параметр присутствует в этом методе удаления double c

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

Это проблема с кодом, но не исправляет проблемы с компилятором. –

+0

Даже если его классы были в одном пакете, он все равно получил бы ошибку в этом методе getCost (double c). – Biu

+1

Нет, вы бы этого не сделали, это вполне приемлемый метод, немного глупый, поскольку параметр никогда не используется.Чтобы проверить, не стесняйтесь копировать и вставлять вышеуказанный код и запускать его, поскольку он, безусловно, компилируется. –

Смежные вопросы