Возврат самого дешевого товара - PullRequest
0 голосов
/ 27 марта 2020

Я довольно новичок в Java, но я застрял в том, что я пытаюсь вернуть товар, но он вернет самый дешевый товар. В книге, которую я использую, говорится, что мне нужно «добавить метод дешевле, который использует другой StoreItem. Он возвращает тот, который дешевле, этот элемент или тот, который был передан». Я просто запутался, как заставить его вернуться самый дешевый товар.

package cwk18;
import java.util.Collections;

    public class StoreItem {
       private String name;
       private double price;

    public StoreItem(){ // constructor
        name= "name unavailable";
        price = 1;
    }
    public StoreItem(String naming1,int val){ // parameterized construtor
        this();
        setName(naming1);
        setPrice(val);
    }
    public String getName(){ //name accessor
        return this.name;
    }
    public void setName(String newName){ // name mutator
        this.name = newName;
    }
    public double getPrice(){ // price accessor
        return this.price;
    }
    public void setPrice(int val){// price mutator
            this.price = val;
    }
    public void cheaper(StoreItem newItem){ 

    }

}

Ответы [ 2 ]

1 голос
/ 27 марта 2020

Если вы говорите, что эта функция возвращает тот товар, который дешевле. Функция должна быть не void

, а 'The object name'

public StoreItem cheaper(StoreItem newItem) \\before is public void cheaper(...
{ 
   if(this.price >newItem.getPrice())
   {
       return newItem;
   }
   else 
   {
       return this;  //this means return the current item
   }
}
0 голосов
/ 27 марта 2020

Во-первых, вам нужно изменить тип возврата с

    public void cheaper(StoreItem newItem){ 

    }

на

    public StoreItem cheaper(StoreItem newItem){ 

    }

Теперь вам просто нужно использовать if statement для сравнения цен StoreItem передается как newItem тому, который представляет этот класс.

...