У меня проблема с тем, как изменить логическое значение данного класса, чтобы при повторном обнаружении оно имело значение последнего установленного значения.Это мой класс
public class Sandwich {
private String type;
private double price;
private String ing;
public boolean owned;
Sandwich (String t, double p, boolean o){
type = t;
price = p;
owned = o;
}
public boolean getO(){
return this.owned;
}
public void setO(boolean o){
this.owned = o;
}
public String getType(){
return this.type;
}
}
и место, где он доступен и должен измениться:
public void purchase(Sandwich s) {
boolean owned = s.owned;
//I tried also with accessor and mutator here but then changed to public
String type = s.getType();
if (owned == false) {
if (money <= 0){
System.out.println("Worker " + this.name + " can not buy " + type + " sandwich, cuz he doesn't have enough money");
} else {
System.out.println("Worker " + this.name + " can buy " + type + " sandwich");
this.money = money;
owned = true;
//this is the place where it is supposed to change value to true (sandwich was bought and has owner now
s.owned = owned;
}
} else if (owned == true) {
System.out.println("Worker " + this.name + " can not buy " + type + " sandwich cuz it was bought");
System.out.println("Test");
}
}
Проблема в том, что хотя данный бутерброд был куплен в прошлом, его собственное значение установленоложь каждый раз, когда я пытаюсь запустить этот код.Мне нужно, чтобы сэндвич записал измененное значение собственные, чтобы в следующий раз я запустил условие == true.Как это может