Что вызывает ошибки в моем призовом классе? - PullRequest
0 голосов
/ 25 октября 2018

Мой код:

public class Prize {
    public static int prizeCount = 0;
    private String itemName;
    private String recipient;

    public Prize(String item, String name) {
        itemName = item;
        recipient = name;
        prizeCount++;
    }

    public static int getPrizeCount() {
        return prizeCount;
    }

    public void print() {
        System.out.println(“Contestant “ + recipient + “has won a “ + itemName);
        System.out.println(“A total of “ + prizeCount + “prizes have been given away!!!”);
    }
}

public class PersonTest {
    public static void main (String [] args) {
        Prize p1 = new Prize(“Movie Tickets”, “Bob”);
        System.out.println(“Prizes so far: “ + p1.getPrizeCount());
        Prize p2 = new Prize(“A NEW CAR!!!”, “Jane”);
        Prize.print();
    }
}

В чем причина проблемы с моим кодом?Я не уверен, что я делаю неправильно.

Ответы [ 3 ]

0 голосов
/ 25 октября 2018

Помимо неправильных двойных кавычек, вы не можете вызывать метод экземпляра с именем класса.

Это не сработает.

Prize.print();

Вам необходимо вызвать метод print в экземпляре класса Prize,Например,

priceObject.print();

Или сделайте метод статическим, тогда вы сможете вызывать с именем класса.

0 голосов
/ 25 октября 2018

Вам нужно либо сделать метод print() статическим, либо вызвать его для двух экземпляров объектов.т.е. p1.print() or p2.print()

0 голосов
/ 25 октября 2018

Используйте ("") не те, что в вашем коде.

public void print() {
    System.out.println(“Contestant “ + recipient + “has won a “ + itemName);
    System.out.println(“A total of “ + prizeCount + “prizes have been given away!!!”);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...