2011-02-02 50 views
0

我有一个字符串arraylist匹配字符串并获得单个布尔结果的问题。基本上,我用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

谢谢!你真棒! – 2011-02-02 12:53:07

4

包含应该做的伎俩

if (aList.contains("Red")) { 
     //cool 
    } 
相关问题