【实验题目】 字串加密
古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:
一、程序设计思想
首先编写代码要求输入想要加密的字符串,注意用到String str=input.nextLine();进行一行字符串的输入,计算字符串的长度赋值给n,定义char字符类型的a,用for循环结构把str用str.charAt(i)取出给a,再给a赋值+3,让其进行加密,在利用str1=str1+a,强制转化为String类型的,把加密后的进行输出。
二、程序流程图
三、源代码
package jiami;
import java.util.Scanner;
public class Jiami {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入需要加密的字符串:");
Scanner input=new Scanner(System.in);
String str=input.nextLine();
int n=str.length();
String str1=new String();
for(int i=0;i<n-1;i++)
{
char a=str.charAt(i);
a=(char)(a+3);
str1=str1+a;
}
System.out.println("加密后的为:"+str1);
}
}
四、结果截图
【动手动脑】请查看String.equals()方法的实现代码,注意学习其实现方法。
String类中的equals()方法用于比较两个字符串是否相等,由于字符串是对象类型,所以不能简单用“==”判断两个字符串是否相等,equals()方法的入口参数为欲比较的字符串对象,该方法的返回值为boolean型,如果两个字符串相等则返回ture,否则返回false。
【整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明】
Length():获取字串长度,字符串是一个对象,在这个对象中包含length属性,它是该字符串的长度,使用String类中的length()方法可以获取该属性值。
charAt():获取指定位置的字符
getChars():获取从指定位置起的子串复制到字符数组中(它有四个参数,1.被拷贝字符在字串中的起始位置 2.被拷贝的最后一个字符在字串中的下标再加1 3.目标字符数组 4.拷贝的字符放在字符数组中的起始下标)
replace():子串替换,通过String类的replace()方法,可以将原字符串中的某个字符替换为指定的字符,并得到一个新的字符串,该方法的具体定义如下:public String replace(char oldChar,char newChar)
toUpperCase()、 toLowerCase():大小写转换,在String类中提供了两个用来实现字母大小写转换的方法,它们的返回值均为转换后的字符串,其中toLowerCase()用来将字符串中的所有大写字母改为小写字母,,方法toUpperCase()用来将字符串中的所有小写字母改为大写字母。
trim():去除头尾空格,通过String类的trim()方法,可以通过去掉字符串的首尾空格得到一个新的字符串,该方法的具体定义如下:public String trim()
toCharArray():将字符串对象转换为字符数组