黑马程序员技术交流社区
标题:
要怎么判断一个元素是不是属于一个数组?
[打印本页]
作者:
刘辉
时间:
2013-3-10 00:49
标题:
要怎么判断一个元素是不是属于一个数组?
/*
在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,
如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),
否则,返回-1。要搜索的字符数组和字符都以参数形式传递传递给该方法,
如果传入的数组为null,应抛出IllegalArgumentException异常。
在类的main方法中以各种可能出现的情况测试验证该方法编写得是否正确,
例如,字符不存在,字符存在,传入的数组为null等。
char[] ch ={'找','孙','前','孙','里','周','无'};
*/
class ExceptionArray
{
public static void main(String[] args)
{
char[] array={'赵','钱','孙','李','周','吴','郑','王','孙'};
if (array==null)
throw new IllegalArgumentException("空数组异常");
PrintArray(array);
SeekArray(array,'孙');
}
public static int SeekArray(char[] array,char s)
{
for(int x=0;x<array.length;x++)
{
if(array[x]==s)
{
return x;
//System.out.println(x);
}
//if(!(s instanceof array))
//System.out.println("-1");
}
return -1;
}
public static void PrintArray(char[] array)
{
for(int x=0;x<array.length;x++)
{
System.out.print("'"+array[x]+"'");
}
System.out.println();
}
}
作者:
李辉
时间:
2013-3-10 05:09
Arrays工具类提供了在数组中查找元素的功能,不过它只提供了binarySearch(二分法查找),只能查找排序后的数组。举例如下:
import java.util.*;
public class ExceptionArray
{
public static void main(String[] args)
{
char[] array={'赵','钱','孙','李','周','吴','郑','王','孙'};
if (array==null)
throw new IllegalArgumentException("空数组异常");
Arrays.sort(array);
System.out.println(Arrays.binarySearch(array, '赵'));
}
}
我不确定你的问题究竟是什么?你自己已经写了在数组中查找元素的代码,为什么标题里又那么问。
作者:
amen0205
时间:
2013-3-10 05:26
class ExceptionArray
{
public static void main(String[] args)
{
char[] array={'赵','钱','孙','李','周','吴','郑','王','孙'};
if (array==null)
throw new IllegalArgumentException("空数组异常");
PrintArray(array);
int i=SeekArray(array,'孙');
if(i!=-1)
System.out.println(array[i]);
else
System.out.println("改姓不存在");
}
public static int SeekArray(char[] array,char s)
{
for(int x=0;x<array.length;x++)
{
if(array[x]==s)
{
return x;
//System.out.println(x);
}
//if(!(s instanceof array))
//System.out.println("-1");
}
return -1;
}
public static void PrintArray(char[] array)
{
for(int x=0;x<array.length;x++)
{
System.out.print("'"+array[x]+"'");
}
System.out.println();
}
}
复制代码
我把你的代码又加了 个if语句 用来输出 如果只是判断 应该更容易
如果你是要问红色部分 注释掉的代码为什么不行的话?
instanceof 是用来来判断一个对象是否属于一个类 不能用来判断一个字符是否属于一个数组
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2