我有各一个字符串a = "aaaa";还有一个字符串数组 b []={"bbbb","aaaa","cccc","dddd"},如何知道b数组中是否含有a字符串。
字符串a和字符串数组b为中文汉字,因为数组内容较多,最好不用遍历的方法。
第1个回答 2014-05-04
一个笨办法,写个for循环,分别取出数组b的元素,记为c,然后用equals比较a字符串是否与c相等。如果相等,就跳出循环,否则,就是不等。
String c="";
boolean flag=false;
for(int i=0;i<b.length;i++)
{
c=b[i];
if(a.equals(c))
{
flag=true;
break;
}
}
if(flag)
{
System.out.println("b数组中含有a字符串");
}
else
{
System.out.println("b数组中不含有a字符串");
}追问
String c="";
boolean flag=false;
for(int i=0;i<b.length;i++)
{
c=b[i];
if(a.equals(c))
{
flag=true;
break;
}
}
if(flag)
{
System.out.println("b数组中含有a字符串");
}
else
{
System.out.println("b数组中不含有a字符串");
}追问
谢谢怪我没说清楚,由于数组里值较多,最好不用遍历的方法进行判断,有其他方法吗?
第2个回答 2014-05-04
java中判断数组是否包含某个元素:
追问
追问
我用了第一种API方法,不成功啊,数组设置一到十,字符串,任何一个文字,都返回true
追答那第二种呢?
你再仔细试试!
谢谢你,第二种也可以,只不过采纳的那个比你回答的要早一点,对不起了只能给他了。
第3个回答 2014-05-04
for循环遍历 有就结束 返回个标志呗
String a = "aaa";
boolean flag = false;
for(String s : b){
if( a.equals( s){
flag = true;
break;
}
}追问
String a = "aaa";
boolean flag = false;
for(String s : b){
if( a.equals( s){
flag = true;
break;
}
}追问
谢谢怪我没说清楚,由于数组里值较多,最好不用遍历的方法进行判断,有其他方法吗?
追答String str = Arrays.toString( b );
Pattern rex = Pattern.compile( a );
Matcher m = rex.matcher(str);
boolean flag = m.find();
正则表达式怎么样