package com.itheima;
import java.util.Arrays;
/**
* 7、在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,
* 则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),否则,返回-1。要搜索的字符数组和字符都以参数形式传递传递给该方法,
* 如果传入的数组为null,应抛出IllegalArgumentException异常。在类的main方法中以各种可能出现的情况测试验证该方法编写得是否正确,例如,字符不存在,字符存在,传入的数组为null等。
* @author Administrator
*
*/
public class Test7 {
public static void main(String[] args) {
char[] carr={'t','m','b','e','k','v'};
char ch='c';
//传入的数组是空的
//search(null, 'p');
//字符不存在
search(carr,'n');
//字符存在
//search(carr, 'b');
}
public static int search(char[] carr,char ch){
//如果传进来的字符数组是null,这抛出异常
if(carr==null)
throw new IllegalArgumentException("参数为空");
Arrays.sort(carr);
String ss = Arrays.toString(carr);
System.out.println("排序后的字符"+ss);
int index = Arrays.binarySearch(carr, ch);
if(index<0){
System.out.println("字符不存在");
return -1;}
else{
System.out.println(ch+"在数组"+ss+"中第一次出现的位置是"+index);
}
return index;
}
}
|
|