Прежде всего, давайте посмотрим разницу между =
и ==
в Java
- '
=
' - оператор присваивания в Java. - '
==
' является оператором сравнения и возвращает true, если одна сторона равна другой.
В вашем случае вы пытаетесь сравнить две две переменные, поэтому вам не нужно используйте оператор присваивания =
.
И поскольку String
не является типом примитива (является классом), вы не можете использовать ==
, который используется для сравнения ссылок между объектами (сравнение адресов), поэтому вы необходимо использовать метод equals()
, который сравнивает два объекта типа String
. Если какой-либо символ не соответствует, он возвращает false. Если все символы совпадают, возвращается true.
, чтобы решить эту проблему, вам просто нужно:
, поэтому ваш calculateShipping()
метод будет следующим:
public double calculateShipping() {
if (shipping.equals("Regular")) {
return 0;
} else if (shipping.equals("Express")) {
return 1.75;
} else {
return .50;
}
}