在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),否则,返回-1。要搜索的字符数组和字符都以参数形式传递传递

来源:互联网 发布:简述云计算的原理 编辑:程序博客网 时间:2024/06/05 09:04

在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),否则,返回-1。要搜索的字符数组和字符都以参数形式传递传递给该方法,如果传入的数组为null,应抛出IllegalArgumentException异常。在类的main方法中以各种可能出现的情况测试验证该方法编写得是否正确,例如,字符不存在,字符存在,传入的数组为null等。


package com.itheima;import java.util.Scanner;/** * 第9题:在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符, 如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算), * 否则,返回-1。要搜索的字符数组和字符都以参数形式传递传递给该方法,如果传入的数组为null, * 应抛出IllegalArgumentException异常。 在类的main方法中以各种可能出现的情况测试验证该方法编写得是否正确, * 例如,字符不存在,字符存在,传入的数组为null等。 *  * 分析:  * 创建一个对象 * 定义一个输入对象,输入字符 * 定义一个字符来做为比较的值 * 把字符串转换成字符数组 * 调用方法 * 判断数组是不是null,如果是返回IllegalArgumentException异常 * 使用for对这个数组进行遍历 * 如果相等,返回这个索引号 * 输出这个索引 * 定义一字符数组,在定一个字符 调用方法 *  * 创建方法, 使用 *  */public class Test9 {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);}/** * 查找方法 * @param chs * @param ch * @return */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;} }//否则返回-1return -1;}}


0 0
原创粉丝点击