1、String.equals()的实现方法:
对于使用默认的Object比较方法,Equals比较两个变量的值是否一致,即对于引用类型,比较的是他们的指向的地址是否相同,对于值类型,直接比较两个对象的值。而==完全调用了Equals的实现。对于重载了Object的Equals和==方法的类,则可能有所不同。
String.equals()方法比较的是字符串的内容,使equals(...)方法会对字符串中的所有字符一个接一个地进行比较,如果完全相等那么返回true。
2、凯撒算法加密或解密用户输入的英文字串。
源代码:
package test1;
import java.util.*;
public class Kaisa{
public static void main(String[] args) {
Kaisa caesar=new Kaisa();
System.out.println("Welcome to Caesar!");
caesar.caesar();
}
void caesar(){
Scanner in=new Scanner(System.in);
System.out.println("请从键盘输入您想要操作的代码:");
System.out.println("1:给文本加密")
System.out.println("2:给文本解密");
int n=in.nextInt();
if(n==1){
System.out.println("请从键盘输入您要加密的内容:");
String aap= in.next();
String ap="";
int key=7;
for(int i=0;i<aap.length();i++){
char input = aap.charAt(i);
if(input>='a'&&input<='z'){
if(input>='t'&&input<='z'){
input-=26;
input+=key;
}
else{
input+=key;
}
}
else if(input>= 'A'&&input<= 'Z'){
if(input>='T'&&input<='Z'){
input-=26;
input+=key;
}
else{
input+=key;
}
}
ap+=input;
System.out.println("经过加密之后的内容为:"+ap);
n=in.nextInt();
undefined
}
else if(n == 2){
System.out.print("请从键盘输入您要解密的内容:");
String ssp=in.next();
String sp="";
int key=-7;
for(int i=0;i<ssp.length();i++){
char input= ssp.charAt(i);
if(input>='a'&&input<= 'z'){
if(input>='a'&&input<='g'){
input+=26;
input+=key;
}
else{
input+=key;
}
}
else if(input>= 'A'&&input <= 'Z'){
if(input>='A'&&input<='G'){
input+=26;
input+=key;
}
else{
input+=key;
}
}
sp+= input;
}
System.out.println("经过加密之后的内容为:"+sp);
n=in.nextInt();
}
}
}