2015-08-18 4 views
-1

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

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. Я должен получить только запись, которая из США другая запись здесь. UK не следует возвращать на экран вывода. Заранее спасибо.

+0

Просто примечание: вы должны действительно узнать о правилах и методах стилизации кода. – Reins

+0

Почему вы думаете, что null не следует печатать? Если 't1' равно null, что вы ожидаете, произойдет при выполнении System.out.println (t1); – FredK

+0

Я не знаю, что подарить в другой части. thats y дал некоторое значение как null. Пожалуйста, предоставьте альтернативное решение для моего кода. –

ответ

4

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

c всегда будет равен cc, если они относятся к одной и той же Строке в памяти.

+0

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

+0

Затем вам нужно либо перестроить свой код, чтобы достичь этого @KannanRadhakrishnan, либо задать другой вопрос, относящийся к этой проблеме – andrewdleach

Смежные вопросы