黑马程序员技术交流社区

标题: 面试题 [打印本页]

作者: cxl1694095035    时间: 2016-5-15 21:48
标题: 面试题

import java.util.Scanner;
                /*
                 * 在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),
                 * 否则,返回-1。要搜索的字符数组和字符都以参数形式传递传递给该方法,如果传入的数组为null,应抛出IllegalArgumentException异常。
                 * 在类的main方法中以各种可能出现的情况测试验证该方法编写得是否正确,例如,字符不存在,字符存在,传入的数组为null等。
                 *
                 * 分析:
                 * 创建一个对象
                 * 定义一个输入对象,输入字符
                 * 定义一个字符来做为比较的值
                 * 把字符串转换成字符数组
                 * 调用方法
                 * 判断数组是不是null,如果是返回IllegalArgumentException异常
                 * 使用for对这个数组进行遍历
                 * 如果相等,返回这个索引号
                 * 输出这个索引
                 * 定义一字符数组,在定一个字符 调用方法
                 * 创建方法, 使用
                 */
                 
public class Tset7 {

        public static void main(String[] args) {
                // 创建一个对象
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入字符串:");
                // 输入字符串,做为源字符串
                String str = sc.nextLine();
                // 定义一个字符来做为比较的值、
                char ch = 'e';
                // 把字符串转换成字符数组、
                char[] chs = str.toCharArray();
                // 调用查找方法、并把这个方法的返回索引赋值给int类型存储
                int num = check(chs, ch);
                // 输出索引
                System.out.println("比较的字符是:"+"e"+"\n索引号是:"+num);
        }
                private static int check(char[] chs, char ch) {
                // 如果这个数组为Null则抛出IllegalArgumentException异常
                if(chs==null){
                throw new IllegalArgumentException("数组不能为空!");
        }
                // 遍历数组
                for (int x = 0; x < chs.length; x++) {
                // 如果这个数组和这个比较的字符相等返回这这个索引号
                if (chs[x] == ch) {
                return x+1;
                }
        }
                // 否则返回-1
                return -1;
        }
}
作者: 善良的死神达乐    时间: 2016-5-15 22:02
赞一个...不错....
作者: 729524251    时间: 2016-5-15 22:37
一天最多可以加多少黑马币
作者: zhangjinbu    时间: 2016-5-15 22:40
谢谢 还是不错的!!!!!!
作者: a15868412325    时间: 2016-5-17 14:03
正好学到这{:3_69:}
作者: Miracle1990    时间: 2016-5-17 15:31
不错,学习学习。
作者: TCK8888    时间: 2016-5-17 21:36
   还是不错的面试题,学习啦
作者: itlf    时间: 2016-5-17 22:26
真够意思,这个20
作者: 刘宽    时间: 2016-5-18 09:20
面试题考的好全面,到时候是直接写吗?
作者: 小剑233    时间: 2016-5-18 10:13
赞一个,!!!!!!!!!!!!!!!!
作者: HEIMAZGP    时间: 2016-5-18 13:21
学习学习
作者: werty510    时间: 2016-5-18 14:14
学习啦 要自己估计写不出来还
作者: hycold    时间: 2016-5-18 14:21
谢谢。....................
作者: tuan2016    时间: 2016-5-18 20:33
感谢分享,收藏一下,谢谢
作者: 729524251    时间: 2016-5-18 21:39
要我自己写的话 估计写不出来·  感觉点招  好难啊
作者: loop    时间: 2016-5-18 22:40
学习了,谢谢楼主分享
作者: 909407540    时间: 2016-5-18 22:51
赞一个,非常不错
作者: 来自0419的高兴    时间: 2016-5-18 22:54
楼主面试过了吗




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2