发布于 2014-10-20 06:15:51 | 517 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

去哪儿网

去哪儿网(Qunar.com)总部位于北京,于2005年5月,由庄辰超与戴福瑞(Fritz Demopoulos)、道格拉斯(Douglas Khoo)共同创立。作为中国第一个旅游搜索引擎,使中国旅行者首次能够在线比较国内航班和酒店的价格及服务。


1、String padString(String string,int minLength,char padChar);
    就是在string前用padChar把string填充到至少minLength长度
    如("7",3'0'),得到的结果是"007";
    如("2012",3,'0'),的到的结果是"2012”;

 minLength可能是负数

 

public static void main(String[] args) {  

    System.out.println(padString("7", 3, '0'));  

    System.out.println(padString("2012", 3, '0'));  

}  

 

static String padString(String string,int minLength,char padChar){  

    int len = string.length();  

    if(minLength<0 || minLength<len){  

        return string;  

    }  

    StringBuffer sb = new StringBuffer();  

    int pads = minLength - len;  

    while(pads-->0){  

        sb.append(padChar);  

    }  

    sb.append(string);  

    return sb.toString();  

}  


2、命令解析
对于命令
    -name jack -age 20 -address "HangZhou ZheDa Road"
要变成[-name jack, -age 20, -address "HangZhou ZheDa Road"]
命令由参数和值对组成,参数以-开头,参数和值之间,值和值之间都是用空格隔开,
双引号""之间的值当做一个整体
来处理。所有参数和值只包括英文字母,数字,减号和双引号

public static void main(String[] args) {  

        System.out.println(parser("-name jack -age 20 -address \"HangZhou ZheDa Road\""));  

        System.out.println(parser("    -name jack -age 20 -address \"HangZhou ZheDa Road\""));  

        System.out.println(parser("-name    jack -age 20    -address \"HangZhou ZheDa Road\""));  

        System.out.println(parser("-name jack -age 20 -address \"HangZhou ZheDa Road   \"   "));  

    }  

      

    static String parser(String str){  

        String params[] = str.split("-");  

        for(int i=0;i<params.length;i++){  

            params[i]=params[i].trim();//去掉前后空格  

            params[i]=params[i].replaceAll("\\s+", " ");//去掉中间空格  

        }  

        StringBuffer sb = new StringBuffer();  

        sb.append("[");  

        for(int i=0;i<params.length;i++){  

            if(params[i].length()!=0 && !params[i].equals("")){  

                sb.append("-");  

                sb.append(params[i]);  

                if(i!=params.length-1){  

                    sb.append(", ");  

                }  

            }  

        }  

        sb.append("]");  

        return sb.toString();  

    }  


3,dif(String str1,String str2);
 输出两个字符串中不同的的字符,如果字符a在str1中出现,而没有在str2当中出现,则输出-a.相反,则输出+a; 字符串当中重复的子字符串不输出。<br>
 abcde,bcde 输出-a <br>
 dabc, aabcef 输出+a,-d,+e,+f <br>
 abcdefe,aabcadef输出+a,+a,-e;
 
 思路:把26个字母映射成一个26大小的整数数组flag,初始全为0,a对应flag[0],如果在str2中出现,则加1,如果在str1中出现,则减1,
 最后遍历这个数组,打印出现的次数即可。

 

public static void main(String[] args) {  

        System.out.println(dif("abcde","bcde"));  

        System.out.println(dif("dabc","aabcef"));  

        System.out.println(dif("abcdefe","aabcadef"));  

    }  

  

    static String dif(String str1, String str2) {  

        int flag[] = new int[26];  

        StringBuffer sb = new StringBuffer();  

        str1 = str1.toLowerCase().trim();  

        str2 = str2.toLowerCase().trim();  

        for(int i=0;i<str1.length();i++){  

            flag[str1.charAt(i)-'a']--;  

        }  

        for(int i=0;i<str2.length();i++){  

            flag[str2.charAt(i)-'a']++;  

        }  

        for(int i=0;i<flag.length;i++){  

//          System.out.println("flag["+i+"]="+flag[i]);  

            if(flag[i]<0){  

                int count = Math.abs(flag[i]);  

                for(int j=0;j<count;j++){  

                    sb.append("-");  

                    sb.append((char)(i+'a'));  

                    sb.append(",");  

                }  

            }else if(flag[i]>0){  

                for(int j=0;j<flag[i];j++){  

                    sb.append("+");  

                    sb.append((char)(i+'a'));  

                    sb.append(",");  

                }  

            }  

        }  

        if(sb.lastIndexOf(",")==sb.length()-1)  

            sb.deleteCharAt(sb.length()-1);  

        return sb.toString();  

    }  



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务