A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© doglovely 中级黑马   /  2016-3-13 14:19  /  1125 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.itheima;

import java.util.Arrays;

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

* @author Administrator
*
*/
public class Test7 {

       
        public static void main(String[] args) {
                char[] carr={'t','m','b','e','k','v'};
                char ch='c';
                //传入的数组是空的
        //search(null, 'p');
                //字符不存在
         search(carr,'n');
        //字符存在
        //search(carr, 'b');

        }
        public static int search(char[] carr,char ch){
                //如果传进来的字符数组是null,这抛出异常
                if(carr==null)
                        throw new IllegalArgumentException("参数为空");
                Arrays.sort(carr);
                String ss = Arrays.toString(carr);
                System.out.println("排序后的字符"+ss);
                int index = Arrays.binarySearch(carr, ch);
                if(index<0){
                        System.out.println("字符不存在");
                        return -1;}
                else{
                System.out.println(ch+"在数组"+ss+"中第一次出现的位置是"+index);
                }
                return index;
               
        }
}
       

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马