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

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

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

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

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

流程图:

 
   

代码:

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

}

}

 
   

截图:

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

最新文章

  1. javaScript中的小细节-局部作用域中的var
  2. WebGIS中兴趣点简单查询、基于Lucene分词查询的设计和实现
  3. CSS-混合布局的几种方法(正确的方法和错误的原因)
  4. [LeetCode] Ugly Number
  5. iOS7程序内部如何打开评分页面
  6. 【NS2仿真】TCP协议
  7. Delphi格式化输出函数(1): Format
  8. Linux中变量#,@,0,1,2,*,$$,$?的含义
  9. GoogleProgressBar
  10. The test form is only available for requests from the local machine 解决方法
  11. libtiff库使用
  12. 关于cgi、FastCGI、php-fpm、php-cgi
  13. php 数据连接 基础
  14. 201521123082《Java程序设计》第4周学习总结
  15. java--jdk api中其他对象(System,Runtime,Calendar,Math,Random,Date)
  16. leetcode每日刷题计划-简单篇day12
  17. 1000/problem/A
  18. 【BZOJ3697】采药人的路径 点分治
  19. 廖雪峰Java2面向对象编程-2数据封装-1方法
  20. [Java学习]反射机制(待续226)

热门文章

  1. UILable添加事件
  2. PHP简单分页类
  3. 天兔(Lepus)监控操作系统(OS)安装配置
  4. 2017年Unity开发环境与插件配置安装(总体介绍)
  5. spring-mvc.xml配置
  6. 用Hashcat每秒计算1.4亿个密码,破解隔壁WIFI密码
  7. GIS制图人员的自我修养(1)--制图误区
  8. Unity起步-1.1下载和安装Unity
  9. bppm与AD域集成
  10. python面向对象编程对象和实例的理解