Получить значение на основе аргументов, переданных объекту

У меня есть сценарий, где я должен вернуть значение на основе значения, переданного в аргументах. Это мой код

package p_java_works;
public class city_if {
    public String a, b, c, d, z;
    String Method1(String aa, String bb, String cc) {
        a = aa;
        b = bb;
        c = cc;
        d = "USA";
        if (c == d) {
            return a;
        } else {
            return null;
        }
    }
    public static void main(String[] args) {
        city_if x = new city_if();
        String t = x.Method1("chris", "NY", "USA");

        city_if y = new city_if();
        String t1 = y.Method1("neil", "LND", "UK");
        System.out.println(t);
        System.out.println(t1);
    }
}

ВЫХОД: Крис Нуль

Выход возвращает NULL. Я должен получить только запись из США, другую запись здесь, т.е. Великобритания не должна быть возвращена на экране вывода. Заранее спасибо.

1 ответ

Вы сравниваете строку с == оператор, когда вы должны использовать .equals() метод.

c будет когда-либо только равным cc если они ссылаются на одну и ту же строку в памяти.

Другие вопросы по тегам