05String字符串课后作业

时间:2024-05-26 14:33:14

1、请运行以下示例代码StringPool.java,查看其输出结果。如何解释这样的输出结果?从中你能总结出什么?

05String字符串课后作业

由此可得出,用加号连接的字符串和一整个字符串相同代码判断是true,而新开辟空间的不是, ==  只有地址和内容都相同才是true

而String.equals()函数判断的则是内容是否一致。

2、请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想、程序流程图、源代码、结果截图。

设计思路:输入要加密的子串str,定义字符串长度,将字符串转化为单个字符,每个字符+3,向后移3个,每个字符-3,向前移3个,定义str1,将新得到的每个字符加到str1后,得到加密后的英文子串str1,定义str2,将新得到的每个字符加到str2后,得到解密后的英文子串str2,输出加密后的子串str1,输出解密后的子串str2

流程图:

05String字符串课后作业

 
   

代码:

import javax.swing.*;

public class Output

{

public static void main(String[] args) {

String str = JOptionPane.showInputDialog("Please input the ");;

int n=0;

n=str.length();

char a,b;

int n1=0;

String str1=new String();

String str2=new String();

for(int i=0;i<n;i++)

{

a=str.charAt(i);//获取指定位置的字符串

b=str.charAt(i);//获取指定位置的字符串

a=(char)(a+3);

b=(char)(b-3);

str1=str1+a;

str2=str2+b;

}

System.out.println("加密后的子串是:\n"+str1);

System.out.println("解密后的子串是:\n"+str2);

}

}

 
   

截图:05String字符串课后作业

05String字符串课后作业

4、方法整理

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():将字符串对象转换为字符数组