2011-02-02 6 views
0

У меня проблема с совпадением строки с строковым массивом и получением одного логического результата. В принципе, я использовал цикл for, чтобы выполнить сопоставление, и все, что я получаю, было серией логических. Но я хочу, чтобы, когда есть один среди всех логических, он вернет одно единственное значение, и если это все, то оно вернет одно значение. Код выглядит следующим образом. Помощь TTArraylist сопоставление и возврат одного одного логического результата

import java.util.*; 
public class NewClass { 
    public static void main(String [] args){ 
     ArrayList <String> aList = new ArrayList <String>(); 
     aList.add("I"); 
     aList.add("Love"); 
     aList.add("You"); 
     aList.add("Black"); 
     aList.add("Colored"); 
     aList.add("Ferrari"); 
     boolean match; 
     for(int i = 0; i < aList.size();i++){ 
      match = aList.get(i).equals("Red"); 
      System.out.print(match); 
     } 
     } 
    } 

ответ

1

Вы должны выйти из цикла, когда вы нашли спичку и распечатать результат вне цикла, как показано ниже:

boolean match = false ; 
    for(int i = 0; i < aList.size();i++){ 
     match = aList.get(i).equals("Red"); 
     if(match){ 
      break; 
     } 
    } 
    System.out.print(match); 

в качестве альтернативы, более короткий подход не использовать петлю, но вызвать contains метод списка вместо того, чтобы:

boolean match = aList.contains("Red"); 
    System.out.println(match); 
+0

Спасибо! Ты потрясающий !!!! –

4

содержит должны сделать трюк

if (aList.contains("Red")) { 
     //cool 
    } 
Смежные вопросы