3月备忘(2)--截至3.11

1 (regex+"/"+rule+"(.?)"+ConstantParams.SINGLE_BLANK) 中"(.?)"是什么意思?

后边多一个?表示懒惰模式。

必须跟在*或者+后边用

如:
如果用正则匹配src中内容非懒惰模式匹配
src=".*"
匹配结果是:src="test.jpg" width="60px" height="80px"
意思是从="往后匹配,直到最后一个"匹配结束

懒惰模式正则:
src=".*?"
结果:src="test.jpg"
因为匹配到第一个"就结束了一次匹配。不会继续向后匹配。

2 实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代表存在相同的字符。保证字符串中的字符为ASCII字符。字符串的长度小于等于3000。

惯常思路就是:(1)得到数据中的内容;(2)遍历比对;

    public static boolean checkDifferent(String iniString) {
        if (iniString.length() > 256) {
            return false;
        }
       //如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
        for (int i = 0; i < iniString.length(); i++) {
            for (int j = i + 1; j < iniString.length(); j++) {
                if ((iniString.charAt(i) ^ iniString.charAt(j)) == 0) {
                    return false;
                }
            }
        }
        return true;
    }

 /**
     * “(.)”表示一个捕获组,“\\1”表示一个反向引用,也就是说“\\1”与“(.)”这两个位置的值可以相同,
     * 其他位置都是".*",表示匹配0~n个任意字符。总的来说,这个正则表达式是匹配出现重复字符的字符串
     *
     * .:代表任意一个字符
     * .*:代表任意一个字符后面有0个或多个字符
     * (.):选择字符中任意一个字符进行复制和后面的(.*\\1)结合进行判断是否后面存在一个字符与它相同
     * (.)(.*\\1):匹配案例 a*a(即首尾相同的abcsa)
     * (.)(.*\\1).*:匹配案例 a*a*
     * .*(.)(.*\\1):匹配案例 *a*a
     * .*(.)(.*\\1).*:匹配案例 *a*a*
     */
    public static boolean checkDifferentReg(String iniString) {
        return !iniString.matches(".*(.)(.*\\1).*");
    }

3 参考文献各个部分的含义

一、参考文献的类型
二、参考文献的格式及举例
三、注释
四、参考文献
https://zhidao.baidu.com/question/531502391.html

4 ip地址、域名、DNS、URL(即网址)的区别与联系

1.IP地址:每个连接到Internet上的主机都会分配一个IP地址,IP地址是用来唯一标识互联网上计算机的逻辑地址,机器之间的访问就是通过IP地址来进行的。IP地址采用二进制的形式表示的话很长,比较麻烦,为了便于使用,IP地址经常被写成十进制的形式,用“.”分开,叫做“点分十进制表示法”,如:127.0.0.1。

2.域名:IP地址毕竟是数字标识,使用时不好记忆和书写,因此在IP地址的基础上又发展出一种符号化的地址方案,来代替数字型的IP地址。每一个符号化的地址都与特定的IP地址对应。这个与网络上的数字型IP地址相对应的字符型地址,就被称为域名。目前域名已经成为互联网品牌、网上商标保护必备的要素之一,除了识别功能外,还有引导、宣传等作用。如:www.hstc.edn.cn。

3.DNS:在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。域名的最终指向是IP。

4.URL:统一资源定位符(英语UniformResourceLocator的缩写)俗称为网址,网址格式为:<协议>://<域名或IP>:<端口>/<路径>。<协议>://<域名或IP>是必需的,<端口>/<路径>有时可省略。如:https://www.baidu.com/。

5 ButterKnife Zelezny 抛出 ArrayIndexOutOfBoundsException

因为布局文件的命名中出现两个下划线导致的。比如@id/+id a__b_c

6 Heritrix替换Hflp散列函数的方法

在heritrix.properties 也替换更改的类,每次换行均要加“\”等号后面黑色字体是无效。

org.archive.crawler.frontier.AbstractFrontier.queue-assignment-policy= org.archive.crawler.frontier.ELFHashQueueAssignmentPolicy \  
    org.archive.crawler.frontier.IPQueueAssignmentPolicy \  
    org.archive.crawler.frontier.BucketQueueAssignmentPolicy \  
    org.archive.crawler.frontier.SurtAuthorityQueueAssignmentPolicy \  
    org.archive.crawler.frontier.TopmostAssignedSurtQueueAssignmentPolicy  

http://www.cpcia.org.cn/html/19/news_page1.html

7 Levenshtein Distance + LCS 算法计算两个字符串的相似度

https://www.cnblogs.com/three-zone/archive/2013/06/06/LevenshteinDistance.html

8 Android中visibility属性VISIBLE、INVISIBLE、GONE的区别

VISIBLE:设置控件可见

INVISIBLE:设置控件不可见

GONE:设置控件隐藏

而INVISIBLE和GONE的主要区别是:当控件visibility属性为INVISIBLE时,界面保留了view控件所占有的空间;而控件属性为GONE时,界面则不保留view控件所占有的空间。

9 Android中搜索图标和文字居中的EditText实例

1 自定义控件
http://www.jb51.net/article/115739.htm
2 Android 软键盘事件imeOptions响应
http://blog.csdn.net/liuweiballack/article/details/46708697

10 ListView属性及divider设置分割线

http://www.cnblogs.com/SZ2015/p/4558462.html

11 确定两串乱序同构。确定其中一个字符串的字符重新排列后,能否变成另一个字符串。

        char[] c1 = stringA.toCharArray();
        char[] c2 = stringB.toCharArray();
        //排序
        Arrays.sort(c1);
        Arrays.sort(c2);
    /*
    注意使用Arrays.equals(c1, c2)而不是c1.equals(c2):
   如果两个数组以相同顺序包含相同的元素,则两个数组是相等的
   */
        return Arrays.equals(c1, c2);  

12 使用CircleImageView设置圆形图片

http://blog.csdn.net/liuyonglei1314/article/details/55102720

13 java如何将char类型的数字转换成int型的数字

public class CharToIntConverter {  
        public static void main(String[] args) {  
            char numChar = '3';  
            int  intNum = numChar - '0';  
            System.out.println(numChar + ": " + intNum);  
        }  
    } 

http://blog.csdn.net/yin13037173186/article/details/77767844

14 空格替换

/**
     * 将字符串中的空格全部替换为“%20”
     * 假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),
     * 同时保证字符串由大小写的英文字母组成。
     * */
    public static String replaceSpace(String iniString, int length) {
        char[] charArr = iniString.toCharArray();
        // 计算源字符串的长度和空格的数量
        int originalLength  = charArr.length;
        int numberOfBlank = 0;
        int numberOfNum = 0;//记录数字数量
        for(char item : charArr){
            if(item == ' '){
                numberOfBlank++;
            }
        }
        // 计算新的字符串长度
        int newLength = originalLength + numberOfBlank * 2;
        char[] newcharArr = new char[newLength];
        //
        int indexOfOriginal = originalLength - 1;
        int indexOfNew = newLength - 1;
        while (indexOfOriginal >= 0) {
            int temp = charArr[indexOfOriginal] - '0';
            if(temp>=0 && temp<=9){
                indexOfOriginal--;
                numberOfNum++;
                continue;
            }
            if (charArr[indexOfOriginal] == ' ') {
                newcharArr[indexOfNew--] = '0';
                newcharArr[indexOfNew--] = '2';
                newcharArr[indexOfNew--] = '%';
                indexOfOriginal--;
            } else {
                newcharArr[indexOfNew--] = charArr[indexOfOriginal--];
            }
        }
        return String.valueOf(newcharArr).substring(numberOfNum,String.valueOf(newcharArr).length());
    }
    

15 的和地的用法区别在哪里?

“的”前面的词语一般用来修饰、限制“的”后面的事物,说明“的”后面的事物怎么样。结构形式一般为:形容词(代词)+的+名词;

例:美丽的花、我的衣服

“地”前面的词语一般用来形容“地”后面的动作,说明“地”后面的动作怎么样。结构方式一般为:副词+地+动词;

例:紧张地进行

简单的说,的修饰名词,地修饰动词。

16 第一周,计划。

论文(优先度1)
1 完成初稿
2 将之前研究术语抽取过程中使用到的技术、思想总结,更新至。

小桔灯(优先度2)
1 完成我的页面合并
2 修复现有的bug
3 继续学习android项目,并将其中技术运用至小桔灯。

面试准备(优先度4)
1 看书,学习巩固Java基础知识

1 Java核心思想(||),第一、二两章(流与文件、XML)阅读,并将重点内容总结至。

2 编码,实战操作

1 刷题:剑指offer1-14题,并将需要总结的地方写在上。

3 制作个人简历(优先度3)

1 梳理自己做的项目(涉及的技术、难点以及解决的方法等)

油气行业采集系统

行业信息网前后台

17 减小android button的大小

http://blog.csdn.net/zfireear/article/details/51007094

18 Android添加横线和竖线分割界面

竖线



横线


http://blog.csdn.net/cn2007/article/details/21445331
http://blog.csdn.net/bfboys/article/details/52565157

19 Android 在 LinearLayout 添加分割线 divider

推荐方法:

LinearLayout有两个属性
1、android:divider="@drawable"

drawable可以是图片文件,也可以是xml绘制的shape。

使用shape的时候一定要添加 ,一定要添加颜色,即使是透明,例如:

  
  
      
      
  

2、android:showDividers = "middle|end|beginning|none"

middle 在每一项中间添加分割线

end 在整体的最后一项添加分割线

beginning 在整体的最上方添加分割线

none 无

添加上这两个属性就可以实现图中效果。

但是,这种属性只有Android3.0以上才支持。

兼容3.0以下版本,需要引用android-support-v7-appcompat.jar

使用android.support.v7.widget.LinearLayoutCompat,用法和LinearLayout一样。但是再设置属性的时候需要使用设置xml命名空间

比如xmlns:app="http://schemas.android.com/apk/res-auto" app:divider=""

http://blog.csdn.net/bingshushu/article/details/45818729

你可能感兴趣的:(3月备忘(2)--截至3.11)