字符串加密解密:

源代码:

package tutorial04String;

import javax.swing.JOptionPane;

public class Wordsecret {

   public static void main(String args[]){

      String q =JOptionPane.showInputDialog("请选择加密1,解密2");//对话框形式选择功能

      int m= Integer.parseInt(q);

      if(m==1)//加密

      {

        String s =JOptionPane.showInputDialog( "请输入一串字符:" );

        int i,len;

        len = s.length();

        String output = "";

        for(i =0;i<len;i++)

        {

           char c=s.charAt(i);//核心算法,加密分情况。当取出的字符在w之后,返回到字母表前面

           if(c<'x'&&c>='a')

              c= (char)(c+3);

           else if(c>'w'&&c<='z')

              {c=(char)(c-26+3);

              }

           else if(c<'X'&&c>='A')

              c= (char)(c+3);

           else

           {

              c=(char)(c-26+3);

              }

           output+=c;

           }

        System.out.println(output);

      }

      else//解密

      {

        String s =JOptionPane.showInputDialog( "请输入一串字符:" );

        int i,len;

        len = s.length();

        String output = "";

        for(i =0;i<len;i++)

        {

           char c=s.charAt(i);

           if(c<'d'&&c>='a')

           {

              c= (char)(c-3+26);//解密算法,当字符取出为d之前的数,调到字母表后面

           }

           else if(c>='d'&&c<='z')

              c=(char)(c-3);

           else if(c<'D'&&c>='A')

              c= (char)(c-3+26);

           else

           {

              c=(char)(c-3);

              }

           output+=c;

        }

        System.out.println(output);

      } 

   }

}

运行截图:

String.equals()方法:equals

public boolean equals(Object anObject)

将此字符串与指定的对象比较。当且仅当该参数不为 null,并且是与此对象表示相同字符序列的 String 对象时,结果才为 true。

覆盖:

Object 中的 equals

参数:

anObject - 与此 String 进行比较的对象。

返回:

如果给定对象表示的 String 与此 String 相等,则返回 true;否则返回 false。

Length():length

public int length()

返回此字符串的长度。长度等于字符串中 Unicode 代码单元的数量。

指定者:

接口 CharSequence 中的 length

返回:

此对象表示的字符序列的长度。

charAt():charAt

public char charAt(int index)

返回指定索引处的 char 值。索引范围为从 0 到 length() - 1。序列的第一个 char 值位于索引 0 处,第二个位于索引 1 处,依此类推,这类似于数组索引。

如果索引指定的 char 值是代理项,则返回代理项值。

指定者:

接口 CharSequence 中的 charAt

参数:

index - char 值的索引。

返回:

此字符串指定索引处的 char 值。第一个 char 值位于索引 0 处。

抛出:

IndexOutOfBoundsException - 如果 index 参数为负或小于此字符串的长度。

getChars():getChars

public void getChars(int srcBegin,

int srcEnd,

char[] dst,

int dstBegin)

将字符从此序列复制到目标字符数组 dst。要复制的第一个字符在索引 srcBegin 处;要复制的最后一个字符在索引 srcEnd-1 处。要复制的字符总数为 srcEnd-srcBegin。要复制到 dst 子数组的字符从索引 dstBegin 处开始,结束于以下索引:

dstbegin + (srcEnd-srcBegin) - 1

参数:

srcBegin - 从此偏移量处开始复制。

srcEnd - 在此偏移量处停止复制。

dst - 用来保存复制数据的数组。

dstBegin - dst 中的偏移量。

抛出:

NullPointerException - 如果 dst 为 null。

IndexOutOfBoundsException - 如果以下任意一项为 true:

  • srcBegin 为负
  • dstBegin 为负
  • srcBegin 参数大于 srcEnd 参数。
  • srcEnd 大于 this.length()。
  • dstBegin+srcEnd-srcBegin 大于 dst.length

replace():replace

public String replace(char oldChar,

char newChar)

返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。

如果 oldChar 在此 String 对象表示的字符序列中没有出现,则返回对此 String 对象的引用。否则,创建一个新的 String 对象,它所表示的字符序列除了所有的 oldChar 都被替换为 newChar 之外,与此 String 对象表示的字符序列相同。

示例:

"mesquite in your cellar".replace('e', 'o')

returns "mosquito in your collar"

"the war of baronets".replace('r', 'y')

returns "the way of bayonets"

"sparring with a purple porpoise".replace('p', 't')

returns "starring with a turtle tortoise"

"JonL".replace('q', 'x') returns "JonL" (no change)

参数:

oldChar - 原字符。

newChar - 新字符。

返回:

一个从此字符串派生的字符串,它将此字符串中的所有 oldChar 替代为 newChar。

replace

public String replace(CharSequence target,

CharSequence replacement)

使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。该替换从字符串的开头朝末尾执行,例如,用 "b" 替换字符串 "aaa" 中的 "aa" 将生成 "ba" 而不是 "ab"。

参数:

target - 要被替换的 char 值序列

replacement - char 值的替换序列

返回:

所得 String

抛出:

NullPointerException - 如果 target 或 replacement 为 null。

toUpperCase();toUpperCase

public String toUpperCase()

使用默认语言环境的规则将此 String 中的所有字符都转换为大写。此方法等效于 toUpperCase(Locale.getDefault())。

注: 此方法与语言环境有关,如果用于应独立于语言环境解释的字符串,则可能生成不可预料的结果。示例有编程语言标识符、协议键、HTML 标记。例如,"title".toUpperCase() 在 Turkish(土耳其语)语言环境中返回 "T?TLE",其中“?”是 LATIN CAPITAL LETTER I WITH DOT ABOVE 字符。对于与语言环境有关的字符,要获得正确的结果,请使用 toUpperCase(Locale.ENGLISH)。

返回:

要转换为大写的 String

toLowerCase():toLowerCase

public String toLowerCase()

使用默认语言环境的规则将此 String 中的所有字符都转换为小写。这等效于调用 toLowerCase(Locale.getDefault())。

注: 此方法与语言环境有关,如果用于应独立于语言环境解释的字符串,则可能生成不可预料的结果。示例有编程语言标识符、协议键、HTML 标记。例如,"TITLE".toLowerCase() 在 Turkish(土耳其语)语言环境中返回 "t?tle",其中“?”是 LATIN SMALL LETTER DOTLESS I 字符。对于与语言环境有关的字符,要获得正确的结果,请使用 toLowerCase(Locale.ENGLISH)。

返回:

要转换为小写的 String。

trim():trim

public String trim()

返回字符串的副本,忽略前导空白和尾部空白。

如果此 String 对象表示一个空字符序列,或者此 String 对象表示的字符序列的第一个和最后一个字符的代码都大于 '\u0020'(空格字符),则返回对此 String 对象的引用。

否则,若字符串中没有代码大于 '\u0020' 的字符,则创建并返回一个表示空字符串的新 String 对象。

否则,假定 k 为字符串中代码大于 '\u0020' 的第一个字符的索引,m 为字符串中代码大于 '\u0020' 的最后一个字符的索引。创建一个新的 String 对象,它表示此字符串中从索引 k 处的字符开始,到索引 m 处的字符结束的子字符串,即 this.substring(km+1) 的结果。

此方法可用于截去字符串开头和末尾的空白(如上所述)。

返回:

此字符串移除了前导和尾部空白的副本;如果没有前导和尾部空白,则返回此字符串。

toCharArray():toCharArray

public char[] toCharArray()

将此字符串转换为一个新的字符数组。

返回:

一个新分配的字符数组,它的长度是此字符串的长度,它的内容被初始化为包含此字符串表示的字符序列。

第四章ppt课后作业的更多相关文章

  1. 《大道至简》第三章读后感+ppt课后作业

                   大道至简读后感 ——第三章团队 古人云“三人为众”,众则是指团体或团队.对于一个团队而言,重要的是凝聚力,大家能在一起把拳头握紧那么产生的力量就不紧紧是能以1+1=2 来 ...

  2. java ppt课后作业

    1 .仔细阅读示例: EnumTest.java,运行它,分析运行结果? 枚举类型是引用类型,枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象.相同的值则引用同一个对象.可以使用“==”和e ...

  3. Java理论学时第四节。课后作业。

    请查看String.equals()方法的实现代码,注意学习其实现方法. public class StringEquals { public static void main(String[] ar ...

  4. OOP第四章博客

    OOP第四章博客作业 (1)本单元作业架构设计 1)针对于第一次作业,我是将所给类进行了自己的封装,在MyUmlInteraction类里面进行关系的建立,这里把所给的UmlClass建立好,同时有i ...

  5. c++面向对象程序设计 课后题 答案 谭浩强 第四章

    c++面向对象程序设计课后题答案 谭浩强 第四章 1: #include <iostream> using namespace std; class Complex {public: Co ...

  6. python 教程 第十四章、 地址薄作业

    第十四章. 地址薄作业 #A Byte of Python #!/usr/bin/env python import cPickle import os #define the contacts fi ...

  7. C++第三章课后作业答案及解析---指针的使用

    今天继续完成上周没有完成的习题---C++第三章课后作业,本章题涉及指针的使用,有指向对象的指针做函数参数,对象的引用以及友元类的使用方法等 它们具体的使用方法在下面的题目中会有具体的解析(解析标注在 ...

  8. Java程序设计(2021春)——第四章接口与多态课后题(选择题+编程题)答案与详解

    Java程序设计(2021春)--第四章接口与多态课后题(选择题+编程题)答案与详解 目录 Java程序设计(2021春)--第四章接口与多态课后题(选择题+编程题)答案与详解 第四章选择题 4.0 ...

  9. web—第四章css&第五章

     web—第四章css&第五章 终于迎接等待已久的CSS,在没学这个之前,我们只会用一点img,查一点小图片,或者是用style改一下颜色,而且比较麻烦.现在多了个css在文件夹在创建一个cs ...

随机推荐

  1. PHP MVC简单介绍,对PHP当前主流的MVC做了一个总结

    东抄西抄,对PHP当前主流的MVC做了一个总结PPT. 希望对初学者有点帮助! PHP MVC初步.ppt

  2. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:5.安装Oracle RAC FAQ-RAC安装DB软件runInstaller看不到节点

    集群安装正常: [root@kmdbrac1 ~]# crs_stat -t -v Name Type R/RA F/FT Target State Host -------------------- ...

  3. Java 使用线程方式Thread和Runnable,以及Thread与Runnable的区别

    一. java中实现线程的方式有Thread和Runnable Thread: public class Thread1 extends Thread{ @Override public void r ...

  4. [2014.01.27]WFsoft.wfWebCtrl.wfPage 5.9

    wfPage多功能.Net翻页组件,使用简单,功能强大. 提供"首页","上一页","下一页","末页","转 ...

  5. 如何区分Babel中的stage-0,stage-1,stage-2以及stage-3(二)

    上一篇文章我们介绍了法力无边的stage-0 和 包罗万象的stage-1, 现在我们来介绍下 stage-2 和 stage-3 深藏不露的stage-2 为什么说 stage-2深藏不露呢,因为它 ...

  6. Android AChartEngine 饼图渐变效果

    二话不说,先上图 核心代码如下: private void initLabelChat(View rootView) { NumberFormat nf = new DecimalFormat(&qu ...

  7. AngularJS---表达式

    AngularJS的表达式是放在{{}}里面,用{{ }}符号将一个变量绑定到$scope上. angularJS中的表达式有如下特点: 1.只能在其所属作用域内部 所有的表达式都在其所属的作用域内部 ...

  8. [经验交流] 为 mesos framework 分配资源

    前段时间我在办公网搭建了一套mesos平台,用于docker 集群相关的调研和测试,mesos + marathon + docker 架构运行正常.但是在启用了chronos后,marathon无法 ...

  9. wkhtmltopdf乱码解决方案

    在CentOS下使用wkhtmltopdf将html页面转换成pdf的时候对于某些页面可能会出现转换成的pdf中很多字符乱码的情况,更怪异的是直接在命令行下运行一切正常,但在httpd+php下使用却 ...

  10. WAMP虚拟目录的设置

    1.打开Apache的配置文件httpd.conf,并去掉#Include conf/extra/httpd-vhosts.conf前面的#!! 2.打开Apache的apache/conf/extr ...