面试题-09

来源:互联网 发布:ubuntu覆盖安装升级 编辑:程序博客网 时间:2024/05/04 02:16

题目:

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

 

 

代码:

package com.itheima;

import org.junit.Test;

/**
 * date : Jun 14, 2013
 *
 * time : 8:18:49 PM
 *
 * author : Spole
 *
 */
/**
 * 题目:
 * 在一个类中编写一个方法, 这个方法搜索一个字符数组中是否存在某个字符,
 * 如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),
 * 否则,返回-1。
 * 要搜索的 字符数组和字符都以参数形式传递传递给该方法,
 * 如果传入的数组为null,应抛出IllegalArgumentException异常。
 * 在类的main方法中以各种可能出现的情况测试验证该方法编写得是否正确, 例如, 字符不存在, 字符存在, 传入的数组为null等。
 */
public class Test09 {
 char[] charArr = { 'd', 'f', 'g', 'i', 'e', 'u' };
 char target = '2';
 @Test
 public void test9() {
  int flag = searchCharIndex(charArr, target);
  if (flag == -1) {
   System.out.println("字符数组charArr中没有字符"+target);
  }else if(flag !=-1){
   System.out.println("字符数组charArr中有字符"+target+"首次出现在"+flag);
   
  }
 }

 public int searchCharIndex(char[] chars, char c) {
  // 要查找的字符在数组中的位置
  int index = -1;

  // 如果数组为null,则抛出IllegalArgumentException
  if (chars == null) {
   //thows new IllegalArgumentException();
   new IllegalArgumentException().printStackTrace();
  } else {
   // 如果不为null,则开始查找字符在数组中的位置
   for (int i = 0; i < chars.length; i++) {
    if (c == chars[i]) {
     index = i;
    }
   }
  }
  return index;
 }
 public static void main(String[] args) {
  char[] charArr = { 'd', 'f', 'g', 'i', 'e', 'u' };
  char target = 'g';
  Test09 t9 = new Test09();
  int flag = t9.searchCharIndex(charArr, target);
  if (flag == -1) {
   System.out.println("字符数组charArr中没有字符"+target);
  }else if(flag !=-1){
   System.out.println("字符数组charArr中有字符"+target+"首次出现在"+flag);
   
  }
 }

}

 

原创粉丝点击