Я работаю над проектом для своего класса Java. Я немного новичок в этом, поэтому буду признателен за любую помощь. По сути, я создаю класс, который имеет дело с унциями и фунтами. Объект класса имеет две целочисленные переменные: одну для унций и одну для фунтов. Один из методов, необходимых для этого класса, требует, чтобы объект класса (PoundsOunces) был принят в качестве параметра, добавлен к вызывающему объекту и возвращена сумма. Я пробовал разные способы сделать это, но продолжаю получать ошибки. Это самая близкая идея, которая у меня была до сих пор.
public PoundsOunces add(PoundsOunces object2) {
return (pounds += object2.pounds, ounces += object2.ounces);
}
Приносим извинения, если это очевидное исправление.
Обновлено: в наших инструкциях требовалось вернуть объект PoundsOunces.
Вот диаграмма UML. Диаграмма UML для класса:
Для возврата вам нужен класс PoundsOunces.
Вы хотите манипулировать полями в текущем объекте, а затем вернуть это, или вы хотите создать новый объект с новыми суммами и вернуть его?
@dunni Я считаю, что лучший способ - создать новый объект. Единственная проблема, с которой я сталкиваюсь, - это выяснить, как сделать вызывающий объект частью этого.
Разве унции не должны опуститься до нуля и увеличивать стоимость фунта, когда вы достигнете 16?
Можете ли вы опубликовать полное определение класса PoundsOunces? У него больше двух полей?
@MickMnemonic да, у меня уже есть способ сделать это.




Согласно вашим комментариям, вы хотите, чтобы вызывающий объект был частью суммы. Тогда я думаю, вы хотите добавить два объекта, текущий объект и один, переданный в качестве ссылки. Ниже должны работать два метода. Здесь, используя ключевое слово this, мы получаем ссылку на вызывающий объект
public PoundsOunces add(PoundsOunces object2) {
PoundsOunces pounces = new PoundsOunces();
pounces.pounds =this.pounds + object2.pounds;
pounces.ounces = this.ounces+ object2.ounces;
return pounces;
}
и если вы хотите вернуть текущий объект, то ниже должно работать.
public PoundsOunces add(PoundsOunces object2) {
this.pounds += object2.pounds;
this.ounces += object2.ounces;
return this;
}
Ого, это было очевидно. Я всегда забываю об этом. Большое спасибо. Отмечено как правильное.
Поскольку ваша спецификация - вернуть сумму, я предполагаю, что вы должны вернуть
intвместоPoundsOunces