05字符串运用

课后做业1:字串加密java

  • 古罗马皇帝凯撒在打仗时曾经使用过如下方法加密军事情报:

 

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

设计思想:数组

输入字符串->将字符串转换为单个字符->每一个字符加3->链接字符串->字符串加密输出学习

程序流程图:加密

 

源代码:设计

//陶雨洁 2016/10/28 201531523d

package 字符运用;对象

import javax.swing.*;blog

import java.util.Scanner;内存

public class Stringyy {

   public static void main( String args[] )

   {

         //转为可用字符串

       System.out.println("输入加密的字母字符");

       Scanner  input=new Scanner(System.in);

       String mm=input.nextLine();

       

               int n=mm.length();

               String str1=new String();

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

               {

                        char a=mm.charAt(i);//取出单个字符

                        a=(char)(a+3);//每一个字符对应加3获得对应的字符

                        str1=str1+a;//链接

               }

     System.out.println("加密后的为:"+str1);

      }

 

}

 

结果截图:

 

 

课后做业2:动手动脑

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

 

输出结果:

true ture false

思考:

Java将同一内容的字符串保存在同一个地址当中,字符==判断是判断地址和数据,因此s0==s1为true。而字符串+会自动链接,因此实际上s2就是String s2=”HELLO”;,s0==s2也为true。这些个都是使用的同一个内存空间,而一旦new就表明申请新的内存空间,结果就是不一样的内存位置固然判等是就会显示false。

 

为何会有上述的输出结果?从中你又能总结出什么?

 

输出结果:

True false false true

思考:

S1与s2引用同一个字符“a”,因为数据内容相同因此保存在同一个地址,s1==s2结果是true,String类型+=操做以后获得一个新的字符串对象,s1==s2为false。字符串常量地址和申请的字符串对象地址无关,因此s2==”ab”为false。

.equals()判断数据内容。

请查看String.equals()方法的实现代码,注意学习其实现方法。

实现代码说起String s1=newString(“hello”);与String s1=”hello”;的区别。咱们知道new了一个新的对象以后,即使String数据内容相同可是地址还是不一样的,而若是是String类型变量赋值,结果却不一样,一样数据内容的变量地址是相同的。

 

 

整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明

 

Length():S. Length()表明字符串S的长度

 

charAt():S.charAt(i)表明S字符串提出单个第i个字符

 

getChars()charArray = new char[ 5 ];//定义一个字符串数组

         s1.getChars( 0, 5, charArray, 0 );//将字符串S1从下标为0开始到下标为5保存在charAt数组当中,且拷贝的字符放在charAt的起始下标为0.

         for ( int i = 0; i < charArray.length;i++ )

           output += charArray[ i ];//以字符数组的形式输出字符

replace()将原字符串中的某个字符替换为指定的字符,并获得一个新的字符串

 

toUpperCase()、toLowerCase():大小写转换,toLowerCase()用来将字符串中的全部大写字母改成小写字母,,方法toUpperCase()用来将字符串中的全部小写字母改成大写字母。返回值均为已经转换的字符。

trim()去除头尾空格,获得一个新的字符串。

toCharArray()将字符串对象转换为字符数组

相关文章
相关标签/搜索