Сеттеры и геттеры - PullRequest
0 голосов
/ 04 мая 2020

У меня есть программа, которая использует сеттеры и геттеры для возврата названий продуктов питания, номеров штрих-кодов и цен. У меня есть программа, разделенная на два файла. Food. java и FoodClass. java. Моя проблема в том, что я продолжаю получать ошибки компиляции в своем файле FoodClass. java, и я пытаюсь выяснить, что мне нужно исправить. вот что у меня есть для кода файла FoodClass и для создания метода для продуктов питания 1 и 2 и другого метода для продуктов питания 3 и 4.

ошибки, которые я получаю:

C: \ Users \ xXxFl \ Desktop \ FoodClass. java: 17: ошибка: не удается найти символ food1.setDescription ("Оливки"); ^ символ: метод setDescription (String) расположение: переменная food1 типа Food

C: \ Users \ xXxFl \ Desktop \ FoodClass. java: 20: ошибка: не удается найти символ food2.setDescription (" Дункан Хинд Микс Торт "); ^ символ: метод setDescription (String) расположение: переменная food2 типа Food

C: \ Users \ xXxFl \ Desktop \ FoodClass. java: 27: ошибка: не удается найти символ food3.setDescription (" Собачья еда" ); ^ символ: метод setDescription (String) расположение: переменная food3 типа Food

C: \ Users \ xXxFl \ Desktop \ FoodClass. java: 31: ошибка: не удается найти символ food4.setDescription (" Кошачья еда" ); ^ символ: метод setDescription (String) расположение: переменная food4 типа Food

C: \ Users \ xXxFl \ Desktop \ FoodClass. java: 39: ошибка: не удается найти символ System.out.println (food3.getDescription () + "\ t \ t \ t \ t \ t" + food3.getbarCode + food3.getPrice ()); Символ ^: переменная getbarCode расположение: переменная food3 типа Food

C: \ Users \ xXxFl \ Desktop \ FoodClass. java: 40: ошибка: не удается найти символ System.out.println (food4. getDescription () + "\ t \ t \ t \ t \ t" + food4.getbarCode + food4.getPrice ()); Символ ^: переменная getbarCode расположение: переменная food4 типа Food 6 error

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

        //place food1 and food 2 into a String getFoodList method
            Food food1 = new Food();
            Food food2 = new Food();

            food1.setDescription( "Olives" );
            food1.setBarCode("C-234-bb-56");

            food2.setDescription( "Duncan Hind Cake Mix" );
            food2.setBarCode( "23-d-445-66" );

        //place food3 and food4 into a string getFoodPrice method
            Food food3 = new Food();
            Food food4 = new Food();

            food3.setDescription( "Dog Food" );
            food3.setBarCode("34-456-77");
            food3.setPrice( 1.45 );

            food4.setDescription( "Cat Food" );
            food4.setBarCode( "2344-56-2-" );
            food4.setPrice( 2.44 );


        System.out.println( food1.getDescription() + "\t\t\t\t\t" + food1.getbarCode() );
        System.out.println( food2.getDescription() + "\t\t\t\t\t" + food2.getbarCode() );

        System.out.println( food3.getDescription() + "\t\t\t\t\t" + food3.getbarCode + food3.getPrice() );
        System.out.println( food4.getDescription() + "\t\t\t\t\t" + food4.getbarCode + food4.getPrice() );

}
}

Это то, что у меня есть для Food. java код:

public class Food
{


        // Fields
         private String description;
         private String barCode;
         private double price;


    public void setDesrciption( String descriptionGiven ) {
        description = descriptionGiven;
}

    public void setBarCode( String barCodeGiven ) {
        barCode = barCodeGiven;
}

    public void setPrice(double priceGiven ) {
        price = priceGiven;
}


    public String getDescription() {
        return description;
}

    public String getbarCode() {
        return barCode;
}

    public double getPrice() {
        return price;
}


    public Food( String foodDescription, String foodBarCode) {
        description = foodDescription;
        barCode = foodBarCode;
        price = 0;
}

    public Food( String foodDescription, String foodBarCode, double foodPrice) {
        description = foodDescription;
        barCode = foodBarCode;
        price = foodPrice;
}

    public Food() {                                           
        description = "";
        price = 0;
        barCode = "";

}
}

Ответы [ 2 ]

3 голосов
/ 04 мая 2020

setDesrciption в Food должно быть setDescription и food3.getbarCode и food4.getbarCode должно быть food3.getbarCode() и food4.getbarCode().

1 голос
/ 04 мая 2020

Что ж, проблема здесь заключается в неравномерном наименовании, сопровождаемом в FoodClass.java & Food.java.

Любое из приведенных ниже изменений должно решить вашу работу.

  1. Использование setDescription вместо setDesrciption в Food.java.

    или

  2. Используйте setDesrciption вместо setDescription в FoodClass.java.

Также в FoodClass.java food3.getbarCode и food4.getbarCode должно быть food3.getbarCode() & food4.getbarCode() соответственно.

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

"C:\Users\sai\AppData\Local\JetBrains\IntelliJ IDEA Community Edition 2019.3.1\jbr\bin\java.exe" "-javaagent:C:\Users\sai\AppData\Local\JetBrains\IntelliJ IDEA Community Edition 2019.3.1\lib\idea_rt.jar=58409:C:\Users\sai\AppData\Local\JetBrains\IntelliJ IDEA Community Edition 2019.3.1\bin" -Dfile.encoding=UTF-8 -classpath D:\work\trial\out\production\trial FoodClass
Olives                  C-234-bb-56
Duncan Hind Cake Mix                    23-d-445-66
Dog Food                    34-456-771.45
Cat Food                    2344-56-2-2.44

Process finished with exit code 0

Снова, чтобы решить такие проблемы рефакторинга, в идеале IDE, такой как Intellij, может быть вашим идеальным помощником.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...