首页 > 代码库 > String java问题随笔

String java问题随笔

1.字符串加密

设计思想:

  每个字符都能够转化为整数型,也能将整数型转化为字符类型,这样我们在加密时候由于向后推3个,所以可以将字符转换为整形,然后加3,之后在将运算完的变量转化为字符后输出,就可以实现字符串加密。

程序流程图:

  输入字符串-》将字符串分解为字符-》字符转换为整形-》整形加3-》转化为字符-》输出。

源代码:import java.util.*;

public class zifu {

    public static void main(String args[]){

        Scanner scanner = new Scanner(System.in);

        System.out.println("please input str:");

        String str = scanner.next();

        int i;

        char chars[] = str.toCharArray();

        for(i = 0;i < str.length();i++)

        {

             chars[i] = (char) (chars[i] + 3);

        }

       

       

        str = String.valueOf(chars);

        System.out.println("请输入加密后的字符串:"+str);

       

    }

 

}

程序运行截图

 

 

2.String.equals()方法

equals()函数的最高层参数是Object对象,他的源码是:

[java] view plain copy

  1. public boolean equals(Object obj) {  
  2.         return (this == obj);  
  3. }  

可以看出返回的是两个对象是否相等的布尔值。

String中的equals被重写了。源码如下:

[java] view plain copy

  1. public boolean equals(Object anObject) {  
  2.         if (this == anObject) {  
  3.             return true;  
  4.         }  
  5.         if (anObject instanceof String) {  
  6.             String anotherString = (String) anObject;  
  7.             int n = value.length;  
  8.             if (n == anotherString.value.length) {  
  9.                 char v1[] = value;  
  10. 10.                 char v2[] = anotherString.value;  
  11. 11.                 int i = 0;  
  12. 12.                 while (n-- != 0) {  
  13. 13.                     if (v1[i] != v2[i])  
  14. 14.                             return false;  
  15. 15.                     i++;  
  16. 16.                 }  
  17. 17.                 return true;  
  18. 18.             }  
  19. 19.         }  
  20. 20.         return false;  

21. }  

 

“==”判断的是两个对象是否一致,即内容和地址,而equals()只比较内容;比如判断s1和s2的内容格式s1.equals(s2);

3.整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明

Length()用来求字符串的长度,返回值为字符串的长度。

charAt()取该字符串某个位置的字符,从0开始,为char类型

getChars()将这个字符串中的字符复制到目标字符数组

replace()将原string 中的元素或子串替换。返回替换后的string

toUpperCase()将字符串string中字符变为大写

toLowerCase()将字符串string中字符变为小写

trim()去除字符串的头为空格

toCharArray()将字符串转换为字符数组

 

 

String java问题随笔