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