如何判断一个字符串是否属于数组中的元素,在线守候,50分? 用一个循环来判断bool ainb (String a,String[] b){ for (int i=0;i<b.length;i++) if (a==b[i]) return TRUE; return FALSE;} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个方法我当然知道,但如果有10000条,那就比10000次吗?再说,你代码也写错了,这样永远只能得到false class j {public static void main(String[] args) {String a="aaa";String[] b={"ccccc","e","dd","aaa","ccc"};for (int i=0;i<b.length;i++) {if(b[i].equals(a)) System.out.println("OK");}}} 用一个循环来判断bool ainb (String a,String[] b){ for (int i=0;i<b.length;i++) if (a.equals(b[i])) return TRUE; return FALSE;} 你还可以将数组转化为字符串,然后用indexOf()判断 nc201() ,怎么会一直返回false。你搞错了我代码没有错不信你试试这段程序class Sample{static String a = "car";static String[] b ={"car","plane","boat"};static boolean ainb (String a,String[] b){ for (int i=0;i<b.length;i++) if (a==b[i]) return true; return false;}public static void main(String[] args){ if (ainb(a,b)) System.out.println("ok"); else System.out.println("not");}} String a = "aaaa"; String[] b = { "ccccc", "e", "dd", "aaaa", "ccc" }; List list= Arrays.asList(b);System.out.println(list.contains(a)); 我想你用错了数据结构此功能用hashtable吧 to: nc201() ( ) 信誉:100 2002-09-27 10:52:00 得分:0 > 这个方法我当然知道,但如果有10000条,那就比10000次吗?从算法角度来说是这样子的.看看数据结构的算法(查找,排序什么的),如果说从查找效率上想提高,需要有相应的存贮方法来支持.比如说按照升序或者降序来存贮.还有,尽管有些现成的类,你也许使代码上看起来"清爽"一些,但是我想也许实际的执行效果差别并不大. 当然,如果需要经常执行这样的查找过程,先把数组进行排序是非常有必要的.排序一次就可以了.比如Arrays.sort();然后再利用binaraySearch等等. to : coolskeeter(蚊子) 你说的很好,如果只是用现成的类,虽然看起来代码是简单了,但实际上执行速度不一定提高 就像队列一样Vector已经有了,你还自己去写吗?那就不叫面向对象了面想对象的语言的条件之一,有强大的对象库有了你不用,那是什么,还是用tc来写程序吧 support freecolor(卓一航) 谢谢各位了,to:myelan(myelan) ,是我搞错了,最近看SCJP把头看糊涂了,总是在“字符串比值和比对象之间纠缠着”,呵呵分马上给,但感觉不够分啊,各位就多包含了。 江湖救急,求助各位几个关于文件处理的小程序 javadoc的用法? 怎么该 关于UTF-8编码问题 java连接access数据库 请问constants是什么意思? 请问j2se和j2re是一样的吗? 求助,用java读入图片,转换成黑白,在图片中放入密码,转换成其它模糊图片,再把图像模糊处理. 大虾们:一个有意义且困扰许多人的问题:Apache+Tomcat配置 求各位大神解决一下 一个简单的问题! 我想在任何地方使用package aaa;都能使aaa目录生成在同一个地方,而不是当前目录?
再说,你代码也写错了,这样永远只能得到false
public static void main(String[] args) {
String a="aaa";
String[] b={"ccccc","e","dd","aaa","ccc"};
for (int i=0;i<b.length;i++) {
if(b[i].equals(a)) System.out.println("OK");
}
}
}
bool ainb (String a,String[] b)
{
for (int i=0;i<b.length;i++)
if (a.equals(b[i]))
return TRUE;
return FALSE;
}
怎么会一直返回false。
你搞错了
我代码没有错
不信你试试这段程序
class Sample
{
static String a = "car";static String[] b ={"car","plane","boat"};static boolean ainb (String a,String[] b)
{
for (int i=0;i<b.length;i++)
if (a==b[i])
return true;
return false;
}
public static void main(String[] args)
{
if (ainb(a,b))
System.out.println("ok");
else
System.out.println("not");
}
}
String[] b = { "ccccc", "e", "dd", "aaaa", "ccc" };
List list= Arrays.asList(b);
System.out.println(list.contains(a));
此功能用hashtable吧
> 这个方法我当然知道,但如果有10000条,那就比10000次吗?从算法角度来说是这样子的.
看看数据结构的算法(查找,排序什么的),如果说从查找效率上想提高,需要有相应的存贮方法来支持.比如说按照升序或者降序来存贮.
还有,尽管有些现成的类,你也许使代码上看起来"清爽"一些,但是我想也许实际的执行效果差别并不大.
先把数组进行排序是非常有必要的.排序一次就可以了.
比如Arrays.sort();
然后再利用binaraySearch等等.
你说的很好,如果只是用现成的类,虽然看起来代码是简单了,但实际上执行速度不一定提高
Vector
已经有了,你还自己去写吗?
那就不叫面向对象了
面想对象的语言的条件之一,有强大的对象库有了你不用,那是什么,还是用tc来写程序吧