动手动脑和课后作业

本文介绍了String类的equals()方法实现原理,并提供了一个凯撒加密算法的具体实现案例,包括加密与解密流程。

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(); 

 

转载于:https://www.cnblogs.com/liang123222/p/4906392.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值