import java.util.Scanner;
/*
* 在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),
* 否则,返回-1。要搜索的字符数组和字符都以参数形式传递传递给该方法,如果传入的数组为null,应抛出IllegalArgumentException异常。
* 在类的main方法中以各种可能出现的情况测试验证该方法编写得是否正确,例如,字符不存在,字符存在,传入的数组为null等。
*
* 分析:
* 创建一个对象
* 定义一个输入对象,输入字符
* 定义一个字符来做为比较的值
* 把字符串转换成字符数组
* 调用方法
* 判断数组是不是null,如果是返回IllegalArgumentException异常
* 使用for对这个数组进行遍历
* 如果相等,返回这个索引号
* 输出这个索引
* 定义一字符数组,在定一个字符 调用方法
* 创建方法, 使用
*/
public class Tset7 {
public static void main(String[] args) {
// 创建一个对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串:");
// 输入字符串,做为源字符串
String str = sc.nextLine();
// 定义一个字符来做为比较的值、
char ch = 'e';
// 把字符串转换成字符数组、
char[] chs = str.toCharArray();
// 调用查找方法、并把这个方法的返回索引赋值给int类型存储
int num = check(chs, ch);
// 输出索引
System.out.println("比较的字符是:"+"e"+"\n索引号是:"+num);
}
private static int check(char[] chs, char ch) {
// 如果这个数组为Null则抛出IllegalArgumentException异常
if(chs==null){
throw new IllegalArgumentException("数组不能为空!");
}
// 遍历数组
for (int x = 0; x < chs.length; x++) {
// 如果这个数组和这个比较的字符相等返回这这个索引号
if (chs[x] == ch) {
return x+1;
}
}
// 否则返回-1
return -1;
}
} |