关于String的二三事
- 长度 s.length() 开头 s.startsWith() 结尾 s.endsWith()
返回值类型为public boolean , true或false - 比较方法 s.compareTo(anotherString) 0等 正大 负小
- 查询是否包含 boolean返回类型 s.contains()
- 字符出现位置 public int indexOf()第一次出现 lastIndexOf() 最后一次出现
从0开始计数 - 截取String s.substring(int beginIndex) ,截取从beginIndex至末尾
或s.substring(beginIndex, endIndex) 从beginIndex至endIndex-1 - 去掉String中所有空格 s.trim()
- 类型转换 从String转其他 从其他转String
以下方法包均为类方法
例子:
a[i] = Integer.parseInt(args[i]);
对象转String 实例类名.toString()
放char数组 public void getChars(int start,int end,char c[],int offset) 从C的offset位置开始存放
- 加密算法
package stringTest;
public class EncryptAndDecrypt {
String encrypt(String sourceString,String password) {
char[] p =password.toCharArray();
int n = p.length;
char[] c = sourceString.toCharArray();
int m = c.length;
for(int k=0;k<m;k++) {
c[k] = (char)(c[k] + p[k%n]);
}
return new String(c);
}
String decrypt(String sourceString,String password) {
char []p = password.toCharArray();
int n = p.length;
char[] c = sourceString.toCharArray();
int m = c.length;
for(int k=0;k<m;k++) {
int mima =c[k] - p[k%n];
c[k] = (char)mima;
}
return new String(c);
}
}
package stringTest;
import java.util.Scanner;
public class StringTest {
public static void main(String[] args) {
String sourceString = "今晚十点进攻";
EncryptAndDecrypt person = new EncryptAndDecrypt();
System.out.println("输入密码加密:"+sourceString);
Scanner in = new Scanner(System.in);
String password = in.nextLine();
String secret = person.encrypt(sourceString, password);
System.out.println("密文:"+secret);
System.out.println("输入解密密码");
password = in.nextLine();
String source = person.decrypt(secret, password);
System.out.println("明文:"+source);
in.close();
}
}