01-搜索一個字符數組中是否存在某個字符

01-題目:

請在一個類中編寫一個方法,這個方法搜索一個字符數組中是否存在某個字符,如果存在,則返回這個字符在字符數組中第一次出現的位置(序號從0開始計算),否則,返回-1。要搜索的字符數組和字符都以參數形式傳遞傳遞給該方法,如果傳入的數組爲null,應拋出IllegalArgumentException異常。在類的main方法中以各種可能出現的情況測試驗證該方法編寫得是否正確,例如,字符不存在,字符存在,傳入的數組爲null等。

02-思路:

1.創建一個字符數組。
2.搜索該字符是否存在字符數組中,編寫搜索方法。
3.判斷字符數組中是否存在該字符

03-介紹:

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

04-代碼:

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

2-第二種方式(推薦):

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"));
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章