5.String
一.古罗马皇帝凯撒在打仗时曾经使用过一种方法加密军事情报。请编写一个程序,使用上述算法加密或解密用户输入的英文字串。
设计思想:先提示用户进行的操作是加密还是解密,用户输入一个字符串,加密时将前23个大小写字母+3,后3个-23强制转换成char类型。解密时将后23个大小写字母-3,前3个-23.用char()方法将改变的字符连接到结果上。

源代码://20153250 解密或加密字符串 陈欣容
package demo;
import java.util.Scanner;
public class JieMi {
public static void main(String args[])
{
Scanner s= new Scanner(System.in);//输入
System.out.print("请输入要执行操作(1.加密,2解密):");
int choose = s.nextInt();
String result="";
char temp;
if(choose==1)//加密
{
System.out.print("请输入字符串:");
String n=s.next();
for(int i=0;i<n.length();i++)
{
if((n.charAt(i)>64&&n.charAt(i) < 88)||(n.charAt(i)>96&&n.charAt(i) < 120))
temp=(char)(n.charAt(i)+3);
else if((n.charAt(i)>87&&n.charAt(i)<91)||(n.charAt(i)>119&&n.charAt(i)<123))
temp=(char) (n.charAt(i)-23);
else
{
System.out.println("输入有误");
break;
}
result += temp;
}
System.out.println("加密后结果为:"+result);
}
else if(choose == 2)//解密
{
System.out.print("请输入字符串:");
String n=s.next();
for(int i = 0;i < n.length();i++)
{
if((n.charAt(i)>67&&n.charAt(i)<91)||(n.charAt(i)>99&&n.charAt(i)<123))
temp=(char)(n.charAt(i)-3);
else if((n.charAt(i)>64 &&n.charAt(i)<68)||(n.charAt(i)>96&&n.charAt(i) < 100))
temp=(char)(n.charAt(i)+23);
else
{
System.out.println("输入有误!");
break;
}
result += temp;
}
System.out.println("解密后结果为:" + result);
}
else
System.out.println("输入有误");
s.close();
}
}
截图:


二.String equals()使用方法
比较字符串内容是否相等
String s=”a”;
System.out.print(s.equals(“a”)); 返回true
三.String Length()使用方法
作用:获取字串长度
String s=new String(“hello”);
System.out.print(s1.length());

四.String类型charAt()使用方法
作用:获取指定位置的字符

五.String类型getChars()使用方法
作用:获取从指定位置起的子串复制到字符数组中(有4个参数)
参数1:.被拷贝字符在字串中的起始位置
参数2:被拷贝的最后一个字符在字串中的下标再加1
参数3:目标字符数组
参数4:拷贝的字符放在字符数组中的起始下标

六.String类型replace()使用方法
作用:子串替换replace(‘a’,‘b’)b替换字符串中出现的所有a,

七.String类型toUpperCase()使用方法
作用:转化成大写
String str=”hello”; str.toUpperCase();

八.String类型toLowerCase()使用方法
作用:转化成小写

九.String类型trim()使用方法
作用:去除头尾空格

十.String类型toCharArray()使用方法
作用:将字符串对象转换位字符数组

注意定义的字符串数组是char类型,char s[]
5.String的更多相关文章
- 透过WinDBG的视角看String
摘要 : 最近在博客园里面看到有人在讨论 C# String的一些特性. 大部分情况下是从CODING的角度来讨论String. 本人觉得非常好奇, 在运行时态, String是如何与这些特性联系上的 ...
- JavaScript String对象
本编主要介绍String 字符串对象. 目录 1. 介绍:阐述 String 对象的说明以及定义方式. 2. 实例属性:介绍 String 对象的实例属性: length. 3. 实例方法:介绍 St ...
- ElasticSearch 5学习(9)——映射和分析(string类型废弃)
在ElasticSearch中,存入文档的内容类似于传统数据每个字段一样,都会有一个指定的属性,为了能够把日期字段处理成日期,把数字字段处理成数字,把字符串字段处理成字符串值,Elasticsearc ...
- [C#] string 与 String,大 S 与小 S 之间没有什么不可言说的秘密
string 与 String,大 S 与小 S 之间没有什么不可言说的秘密 目录 小写 string 与大写 String 声明与初始化 string string 的不可变性 正则 string ...
- js报错: Uncaught RangeError: Invalid string length
在ajax请求后得到的json数据,遍历的时候chrome控制台报这个错误:Uncaught RangeError: Invalid string length,在stackoverflow查找答案时 ...
- c# 字符串连接使用“+”和string.format格式化两种方式
参考文章:http://www.liangshunet.com/ca/201303/218815742.htm 字符串之间的连接常用的两种是:“+”连接.string.format格式化连接.Stri ...
- 【手记】注意BinaryWriter写string的小坑——会在string前加上长度前缀length-prefixed
之前以为BinaryWriter写string会严格按构造时指定的编码(不指定则是无BOM的UTF8)写入string的二进制,如下面的代码: //将字符串"a"写入流,再拿到流的 ...
- JavaScript中String对象的方法介绍
1.字符方法 1.1 charAt() 方法,返回字符串中指定位置的字符. var question = "Do you like JavaScript?"; alert(ques ...
- 在多线程编程中lock(string){...}隐藏的机关
常见误用场景:在订单支付环节中,为了防止用户不小心多次点击支付按钮而导致的订单重复支付问题,我们用 lock(订单号) 来保证对该订单的操作同时只允许一个线程执行. 这样的想法很好,至少比 lock( ...
- BCL中String.Join的实现
在开发中,有时候会遇到需要把一个List对象中的某个字段用一个分隔符拼成一个字符串的情况.比如在SQL语句的in条件中,我们通常需要把List<int>这样的对象转换为“1,2,3”这样的 ...
随机推荐
- hibernate的session对象核心方法注意的问题
1.session.save()方法 1).session.save()方法会使一个对象从临时状态转变为持久化状态. 2).session.save()方法会赋予持久化对象的OID属性一个ID值,以对 ...
- SVN分支和映射总结和数据库初步使用
SVN使用总结 常用的诸如检出,update,add就不说了. 1.创建分支-----新建分支目录,在分支文件夹下导入项目folder文件夹.分支不会影响主干trunk的代码,可以随意修改. 2.sv ...
- [poj2492]A Bug's Life(并查集+补集)
A Bug's Life Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 34678 Accepted: 11339 D ...
- VR视频外包公司(长年承接虚拟全景外包、虚拟现实视频外包)
承接VR视频外包(虚拟全景外包),虚拟现实视频外包(北京公司) 我们制作各类型VR全景虚拟现实,增强现实视频制作.录制等项目! 品质保证,售后完备. 我们团队成立于2011年10月,是一个专业从事严肃 ...
- an interview question(3)
最近看了些C面试题顺便复习一下C语言,现贴一些出来和大家分享. #include <stdio.h> void main () { ,,,,};--------- *(ptr++)+=; ...
- Win10无法安装提示磁盘布局不受UEFI固件支持怎样解决
微软在推出Win10系统以后,就向Win7和Win8.1系统用户提供了免费升级Win10系统的推送,但是用户在安装Win10系统的时候,却有一部分用户反映,遇到提示“无法安装Windows,因为这台电 ...
- error: Your local changes to the following files would be overwritten by checkout:
在发布这个配置文件的时候,会发生代码冲突: error: Your local changes to the following files would be overwritten by merge ...
- hexo 本地local4000打不开解决方法
错误:Cannot GET /spadesq.github.io/ (注:spadesq.github.io是原来放hexo文件夹的名字) 由于我后来把hexo文件夹搬迁到别处,但我发现打开本地,地址 ...
- AutoCAD2006启动慢解决方案
一. 1.打开控制面板.2.选择Internet选项.3.在Internet属性对话框里,点高级标签.4.清除“检查发行商的证书吊销”选项.5.单击应用,然后单击OK.6.重新启动,运行应用程序. 二 ...
- PHP xml 转换为 array
retrun json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), tru ...