课后作业
String.equals()的用法
equals方法检验两个对象是否相等,使用equals方法就相当于使用==运算符,如果比较子类中的对象是否相等,就必须覆盖equals方法。在String类中,已经使用过equals方法比较两个字符串的内容是否相等,这是因为在String类中对该方法进行了修改
String类中的Length()的用法
它是字符串中计算字符串长度的属性,length属性可设置或返回数组中元素的数目
charAt()的用法
charAt()功能类似于数组,可以把字符串看作是char类型的数组,他是把字符串拆分获取其中的某个字符,返回指定位置的字符
getChars()的用法
getchar有一个int型的返回值,当程序调用getchar时,程序就等着用户按键,用户输入的字符被存放到键盘缓冲区内,直到用户按回车之后。
replace()的用法
它是返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar而生成的。
toUpperCase()的用法
它返回一个字符串,该字符串中的所有字母都被转化成大写字母
tolowerCase()的用法
它返回一个字符串,该字符串中的所有字母都被转化成小写字母
trim()的用法
删除字符串首尾的空白(可以首尾一起,也可以指定首和尾,取决于控制参数),但会保留子串符内部作为词与词之间的分隔的空格。
ToCharArray()的用法
将字符串对象中的字符转换成一个字符数组
古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:
请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想、程序流程图、源代码、结果截图。
设计思想:
首先获取加密的内容以及密钥,凯撒密码的密钥即字符移动的位数,
(1)读取要加密的字符串
(2)取出字符串中的每个数字
(3)对每个字符进行移位
源代码:
import java.util.Scanner;
public class JiaMi {
public static void main(String[] args)
{
int i=1;
Scanner reader=new Scanner(System.in);
while (i==1)
{
int j=0;int n=0;int key=3;
String m=" ";
System.out.println("如果要加密字符请输入0;如果要解密字符串请输入1;");
n=reader.nextInt();
if(n==0)
{
String str=new String();
System.out.println("请输入要加密的字符串");
str=reader.next();
for(j=0;j<str.length();j++)
{
char b=str.charAt(j);
if(b>='A'&&b<='z')
{
if(b>='x'&&b<='z')
{
b-=26;
b+=key;
}
else
{
b+=key;
}
}
m+=b;
}
System.out.println("加密后的字符串为:");
System.out.println(m);
System.out.println("如果继续请选择0;结束选择1:");
i=reader.nextInt();
}
if(n==1)
{
String str1=new String();
System.out.println("请输入要解密的字符串");
str1=reader.next();
for(j=0;j<str1.length();j++)
{
char d=str1.charAt(j);
if(d>='A'&&d<'z')
{
if(d>='x'&&d<'D')
{
d+=26;
d-=key;
}
else
{
d-=key;
}
}
m+=d;
}
System.out.println("解密后的字符串为:");
System.out.println(m);
}
}
System.out.println("如果继续请选择0;结束选择1:");
i=reader.nextInt();
}
}
结果截图: