04-字符串 课程作业01 课后作业之字串加密、动手动脑之String.equals()方法、整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明、阅读笔记

一、字串加密

  1、设计思想:将字符串转化为字符数组,对每一个字符进行改变,再将整个数组赋值给字符串返回。

  2、程序流程图:

    

  3、程序源代码

      

 1 //信1605-1 刘思翔 20163579
 2 import java.util.Scanner;
 3 public class Mima 
 4 {
 5     public static String jiaMi(String n)//加密方法
 6     {
 7         char a[]=n.toCharArray();//将字符串转为字符数组储存
 8         for(int i=0;i<n.length();i++)//A-W变为D-Z,XYZ变为ABC
 9         {
10             if((a[i]>='a'&&a[i]<='w')||(a[i]>='A'&&a[i]<='Z'))
11             {
12                 a[i]+=3;
13             }
14             else if((a[i]>='X'&&a[i]<='Z')||(a[i]>='x'&&a[i]<='z'))
15             {
16                 a[i]-=23;
17             }
18             
19         }
20         n=n.valueOf(a);//将加密后的字符数组重新赋给字符串
21         return n;
22     }
23     
24     public static String jieMi(String n)//解密方法,同加密方法相反
25     {
26         char a[]=n.toCharArray();
27         for(int i=0;i<n.length();i++)
28         {
29             if((a[i]>='a'&&a[i]<='c')||(a[i]>='A'&&a[i]<='C'))
30             {
31                 a[i]+=23;
32             }
33             else if((a[i]>='d'&&a[i]<='z')||(a[i]>='D'&&a[i]<='z'))
34             {
35                 a[i]-=3;
36             }
37             
38         }
39         n=n.valueOf(a);
40         return n;
41     }
42     
43     public static void main(String[] args)
44     {
45         Scanner scanner=new Scanner(System.in);
46         String n;
47         System.out.print("请输入一段英文:");
48         n=scanner.nextLine();
49         System.out.println("加密后的结果为:"+jiaMi(n));
50         System.out.println("解密后的结果为:"+jieMi(n));
51     }
52 }

  5、结果截图

  

二、String 类

  String类型当比较不同对象内容是否相同时,应该用equals,因为“==”用于比较引用类型和比较基本数据类型时具有不同的功能。

  1:当对象不同,内容相同,"=="返回false,equals返回true

  String s1=new String(“java”);

  String s2=new String(“java”);

  System.out.println(s1==s2);//false

  System.out.println(s1.equals(s2));//true

  2:当同一对象,"=="和equals结果相同

  String s1=new String(“java”);

  String s2=s1;

  System.out.println(s1==s2);//true

  System.out.println(s1.equals(s2));//true

  3:如果值不相同,对象就不相同,所以"==" 和equals结果一样

  String s1=”java”;

 

  length():public int length()//求字符串长度

          String s=”dwfsdfwfsadf”;

           System.out.println(s.length());

  charAt():public charAt(int index)//index 是字符下标,返回字符串中指定位置的字符

          String s=”Hello”;

          System.out.println(s.charAt(3));

  getChars():public int getChars()//将字符从此字符串复制到目标字符数组

          String str = "abcdefghikl";

          Char[] ch = new char[8];

          str.getChars(2,5,ch,0);

  replace():public int replace()//替换字符串

         String s=”\\\”;

          System.out.println(s.replace(“\\\”,”///”));

          结果///;

  toUpperase():public String toUpperCase()//将字符串全部转换成大写

           System.out.println(new String(“hello”).toUpperCase());

  toLowerCse():public String toLowerCase()//将字符串全部转换成小写

          System.out.println(new String(“HELLO”).toLowerCase());

  trim():public String trim()

           String x=”ax  c”;

           System.out.println(x.trim());//是去两边空格的方法

  toCharArray(): String x=”abcd”;// 将字符串对象中的字符转换为一个字符数组

             char myChar[]=x.toCharArray();

            System.out.println(“myChar[1]”+myChar[1]);

    String s2=””;

    System.out.println(s1==s2);//true

    System.out.println(s1.equals(s2));//true

posted @ 2017-10-27 14:30  野生小码农  阅读(192)  评论(0编辑  收藏  举报