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

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

方式一

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的值
	}
}

方式二

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"));
	}
}

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×