2015-04-30 3 views
-1

Моя переменная c всегда равна нулю. Я не понимаю, почему это не обновление. может кто-нибудь объяснить, почему это происходит. то, что я должен сделать, чтобы избежать этогоЗначение переменной не обновляется

public static int linearSearch(Exam[] marks, String name) { 
    int c =0; 
    if(marks==null) 
    { 

     return -1; 

    } 
    else{ 

     for(int i=0;i<marks.length;i++) 
     { 

      //System.out.println(a[i]); 
      if(performances[i].getName()==name) 
      { 
       c= i; 

      } 

     } 
    } 
    return c; 


    //to be completed 
} 
+2

Поскольку вы используете '==' для сравнения строк, а не '.equals()' – JonK

ответ

4

Изменить эту строку, как показано ниже

performances[i].getName().equalsIgnoreCase(name) 

если вы хотите игнорировать верхний или нижний регистр

еще использовать ниже

performances[i].getName().equals(name) 

для проверки содержимого имени вместо ссылок.

+2

Должно быть '.equals (name)' или '.equalsIgnoreCase (name)', ** not ** '.equalIgnorecase (имя) '- капитал« C ». – JonK

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