入门客AI创业平台(我带你入门,你带我飞行)
博文笔记
  • 当前位置:
  • 入门客AI创业平台
  • >
  • 博文笔记
  • >
  • 在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),否则,返回-1。要搜索的字符数组和字符都以参数形式传递传递

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

创建时间:2015-08-21 投稿人: 浏览次数:2313

在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从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"+"
索引号是:"+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;
			} 
		}
//		否则返回-1
		return -1;
	}
}


声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。