zoukankan      html  css  js  c++  java
  • java程序员面试题解答

    =======================================
    ~~我是光荣的分隔线~~
    =======================================
    编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),否则,返回 -1。要搜索的字符数组和字符都以参数形式传递传递给该方法,如果传入的数组为null,应抛出IllegalArgumentException异常。 在类的main方法中以各种可能出现的情况测试验证该方法编写得是否正确,例如,字符不存在,字符存在,传入的数组为null等。
    public static int search(char a[],char b) {
             if(a==null)
                 throw new IllegalArgumentException();
             String temp=new String(a);
             return temp.indexOf(b);
         }
    编写一个程序,这个程序把一个整数数组中的每个元素用逗号连接成一个字符串,例如,根据内容为[1][2][3]的数组形成内容为"1,2,3"的字符串。
    public static String append(char a[])
          {
              StringBuffer sb=new StringBuffer();
              for(int i=0;i<a.length;i++)
              {
                 if(i!=0) sb.append(",");
                 sb.append(a[i]);
              }
              return sb.toString();
          }
    请编写一个字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,让程序通过这个包装类读取某个文本文件(例如,一个java源文件)时,能够在读取的每行前面都加上有行号和冒号。
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.Reader;

    /**
    *
    * @author hongrui xing
    */
    public class LineNumberReader extends BufferedReader{
         private int lineNumber = 0;
        
         public LineNumberReader(Reader in) {
             super(in);
         }
        
         public String readLine() throws IOException {
             StringBuffer sb= new StringBuffer();
             synchronized (lock) {
                
                 String l = super.readLine();
                
                 if (l != null) {
                     lineNumber++;
                     sb.append(String.valueOf(lineNumber));
                     sb.append(":");
                     sb.append(l);
                 }
                
                 return sb.toString();
             }
         }
        
        
    }

    在java视频的第七讲的第一个片断,也就是网站上提供的免费片断《正则表达式的应用》中,讲到了将一个保存有ip地址与地区对照关系的文本文件导入到数据库时,应该将其中的某些空格替换成逗号(,),即对于如下格式的文本文件内容:
    起始IP 结束IP 地区
    ---------------------------------------------------------------
    61.54.231.245 61.54.231.245 河南省安阳市 新世纪网吧
    61.54.231.246 61.54.231.246 河南省安阳市 未知地区
    61.54.231.9 61.54.231.247 河南省安阳市 红日网吧
    61.54.231.248 61.54.231.248 河南省安阳市 安阳师范学院
    61.54.231.249 61.54.231.249 河南省安阳市 黑蜘蛛网吧(师范学院附近)
    应转换成下面的这种格式:
    61.54.231.245,61.54.231.245,河南省安阳市 新世纪网吧
    61.54.231.246,61.54.231.246,河南省安阳市 未知地区
    61.54.231.247,61.54.231.247,河南省安阳市 红日网吧
    61.54.231.248,61.54.231.248,河南省安阳市 安阳师范学院
    61.54.231.249,61.54.231.249,河南省安阳市 黑蜘蛛网吧(师范学院附近)
    代码
            String a="61.54.231.245 61.54.231.245 河南省安阳市 新世纪网吧 ";
            String regex = "(((2[0-4]\\d)|(25[0-5]))|(1\\d{2})|([1-9]\\d)|(\\d))[.](((2[0-4]\\d)|(25[0-5]))|(1\\d{2})|([1-9]\\d)|(\\d))[.](((2[0-4]\\d)|(25[0-5]))|(1\\d{2})|([1-9]\\d)|(\\d))[.](((2[0-4]\\d)|(25[0-5]))|(1\\d{2})|([1-9]\\d)|()";
             a=a.replaceAll(regex,"$0,");
             System.out.println(a);
    =======================================
    ~~我是光荣的分隔线~~
    =======================================

  • 相关阅读:
    5.2 i++
    5.1 赋值语句
    Implement Queue using Stacks
    Binary Tree Paths
    Single Number III
    Ugly Number
    SurfaceHolder.Callback
    intellj(idea) 编译项目时在warnings 页签框里 报 “xxx包不存在” 或 “找不到符号” 或 “未结束的字符串字面值” 或 “需要)” 或 “需要;”等错误提示
    Hibernate添加日志--log4j
    java实现网页验证码
  • 原文地址:https://www.cnblogs.com/danghuijian/p/4400607.html
Copyright © 2011-2022 走看看