前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >搜索一个字符数组中是否存在某个字符

搜索一个字符数组中是否存在某个字符

作者头像
崔笑颜
发布2020-06-08 16:54:42
1.5K0
发布2020-06-08 16:54:42
举报
文章被收录于专栏:小小码农一个。

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

1.创建一个字符数组。 2.搜索该字符是否存在字符数组中,编写搜索方法。 3.判断字符数组中是否存在该字符

1.valueOf:方法用于返回给定参数的原生 Number 对象值。 如:char[] str = { ‘a’, ‘b’, ‘c’, ‘a’ }; String s = String.valueOf(str); // s的值是 abca 2.indexOf:返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 如:s.indexOf(“b”); // 表示:如果字符数组中存在b,则返回第一次出现b的下标索引,如果没有b,则返回-1

方式一

代码语言:javascript
复制
package com.eleven.csdn0110;

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

	public static void main(String[] args) {
		// 创建一个字符数组
		char[] str = { 'a', 'a', 'c', '-', 'a' };
		// 搜索该字符是否存在字符数组中
		int index = search(str,'-');
		// 判断字符数组中是否存在该字符
		if (index == -1) {	// index为-1时,表示字符不存在
			System.out.println("该字符不存在");
		} else {
			System.out.println("字符在字符数组中第一次出现的位置" + index);
		}
	}

	// search方法
	private static int search(char[] aStr, char aIndex) {
		int index = -1;	// 将index的值初始化为-1
		if (aStr == null) {	// 如果str值为null,则抛出非法数据异常
			new IllegalArgumentException().printStackTrace();	// IllegalArgumentException非法数据异常
		} else {
			for (int i = 0; i < aStr.length; i++) {
				if (aIndex == aStr[i]) {	// 如果字符数组里面的字符和要搜索的字符一致
					index = i;	// 就将i的值赋值给index
					break;	// 满足条件,退出循环
				}
			}
		}
		return index;	// 打印index的值
	}
}

方式二

代码语言:javascript
复制
package com.eleven.test;

/**
 * 1.请在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),否则,返回-1。
 * 2.要搜索的字符数组和字符都以参数形式传递传递给该方法,如果传入的数组为null,应抛出IllegalArgumentException异常。
 * 3.在类的main方法中以各种可能出现的情况测试验证该方法编写得是否正确,例如,字符不存在,字符存在,传入的数组为null等。
 * 
 * @author sywangu
 *
 */
public class OneDemoTest {
	public static void main(String[] args) {
		// 创建一个字符数组
		char[] str = { 'a', 'b', 'c', 'a' };
		// // 如果str值为null,则抛出非法数据异常
		if (str == null)
			throw new IllegalArgumentException();
		// valueOf() 方法用于返回给定参数的原生 Number 对象值
		String s = String.valueOf(str); // s的值是 abca
		// indexOf():返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
		System.out.println(s.indexOf("b"));
	}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-01-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方式一
  • 方式二
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档