JAVA字符串05之课程问题解决
(一)古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:请编写一个程序,使用上述算法加密或解密用户输入的英文字串。
1.设计思想:首先选择是加密字符串还是解密字符串,两种算法相似。如果要加密字符串,则需要考虑特殊字符,就是XYZ这三个字符;相应的解密字符串类似,也需要考虑ABC这三个字符。
2.程序流程图

3.源代码
import java.util.Scanner;
public class work1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
int num=0;
System.out.println("(1加密字符串,2解密字符串)");
System.out.print("请选择:");
num=scanner.nextInt();
if(num==1)
{
System.out.print("请输入需要加密的字符串:");
String str=scanner.next();
scanner.close();//这是啥意思?
System.out.print("加密后:");
char a='a';
for(int i=0;i<str.length();i++)
{
char a2=str.charAt(i);
if(a2>='A'&&a2<='Z')
{
if(a2>='X'&&a2<='Z')
{
if(a2=='X') a='A';
if(a2=='Y') a='B';
if(a2=='Z') a='C';
}
else
{ a=(char)(a2+3);}
}
System.out.print(a);}
}
if(num==2)
{
System.out.print("请输入需要解密的字符串:");
String str=scanner.next();
char b='b';
System.out.print("解密后:");
for(int j=0;j<str.length();j++)
{char b2=str.charAt(j);
if(b2>='A'&&b2<'Z')
{
if(b2>='A'&&b2<'D')
{
if(b2=='A')b='X';
if(b2=='B')b='Y';
if(b2=='C')b='Z';
}
else
{ b=(char)(b2-3);}
}
System.out.print(b);}
}
}
}
4.结果截图


(二)动手动脑
1.String.equals()方法:比较的是两个字符串的内容。
2.Length():获取字符串的长度。
3.charAt():获取指定位置的字符。
4. getChars():获取从指定位置起的子串复制到字符数组中。
5.replace():子串替换。
6.toUpperCase():全部字符变为大写,返回新字符串。
7. toLowerCase():全部字符变为小写,返回新字符串。
8.trim():去除头尾空格。
9.toCharArray():将字符串对象转换为字符数组。
JAVA字符串05之课程问题解决的更多相关文章
- JAVA语法02之课程问题解决
(一)示例程序+运行结果: ①EnumTest.java public class EnumTest { public static void main(String[] args) { Size s ...
- 灵魂拷问:为什么 Java 字符串是不可变的?
在逛 programcreek 的时候,发现了一些精妙绝伦的主题.比如说:为什么 Java 字符串是不可变的?像这类灵魂拷问的主题,非常值得深思. 对于绝大多数的初级程序员来说,往往停留在" ...
- 最新咕咆+鲁班+图灵+享学+蚂蚁+硅谷+源码 Java架构师资料《Java架构师VIP课程》
最新的Java架构师完整资料,完整视频+源码+文档. 每一套都是一百多个G的资料,无密. JAVA架构师全套课程 咕泡学院互联网架构师第一期 咕泡学院互联网架构师第二期 咕泡学院互联网架构师第三期 博 ...
- OMG,12 个精致的 Java 字符串操作小技巧,学它
字符串可以说是 Java 中最具有代表性的类了,似乎没有之一哈,这就好像直播界的李佳琪,脱口秀中的李诞,一等一的大哥地位.不得不承认,最近吐槽大会刷多了,脑子里全是那些段子,写文章都有点不由自主,真的 ...
- Java 字符串格式化详解
Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...
- 20145212《Java程序程序设计》课程总结
20145212<Java程序程序设计>课程总结 一.每周读书笔记链接汇总 第一周读书笔记 第二周读书笔记 第三周读书笔记 第四周读书笔记 第五周读书笔记 第六周读书笔记 第七周读书笔记 ...
- (转)Java字符串
转自:http://blog.sina.com.cn/s/blog_899678b90101brz0.html 创建字符串有两种方式:两种内存区域(字符串池,堆)1," " 引号创 ...
- 20145223《Java程序程序设计》课程总结
20145223<Java程序程序设计>课程总结 每周读书笔记链接汇总 第一周学习总结 第二周学习总结 第三周学习总结 第四周学习总结 第五周学习总结 第六周学习总结 第七周学习总结 第八 ...
- Java字符串split函数的注意事项
Java字符串的split方法可以分割字符串,但和其他语言不太一样,split方法的参数不是单个字符,而是正则表达式,如果输入了竖线(|)这样的字符作为分割字符串,会出现意想不到的结果, 如, Str ...
随机推荐
- HTML5学习小结
HTML5是用于取代1999年所制定的 HTML4.01和XHTML1.0标准的HTML标准版本.HTML5的第一份正式草案已于2008年1月公布:2012年12月,规范已经正式定稿.W3C计划在20 ...
- jeesz源码下载
大型分布式企业架构 jeesz,百度去搜索jeesz
- php常用函数(持续中)
字符串 折分字符串:split和explode 函数原型:array split (string $pattern, string $string [, int $limit]) ...
- php时间戳之间相互转换
第一种情况: 将时间戳转换成年月日格式 <?php echo date('Y-m-d H:i:s',$v['apply_time']);?> 第二种情况: 将年月日转换成时间戳 strto ...
- Sql数据库时间的转换格式
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDAT ...
- [转]hibernateTools工具安装及使用总结(eclipse 3.6)
转载地址:http://blueblood79.iteye.com/blog/773177 最近项目采用flex+spring+hibernate的框架开发,之前虽说有多年的Java开发经验了,但是一 ...
- Web App适配不同屏幕的几点建议
安卓设备在屏幕尺寸和像素密度上差别很大,因此在使用WebView加载网页时就需要考虑到这种差别,对我们的网页做出精心的设计以在不同的屏幕上都能得到合适的展现.通常情况下,我们需要考虑到两个因素:1.视 ...
- Git使用指南(2)——工作区,暂存区,版本库
1 工作区修改添加到暂存区 git add 2 暂存区提交到版本库 git commit 3 版本库更新到暂存区 git reset HEAD 4 删除暂存区文件 git rm --cached< ...
- webDriver 执行杀死浏览器进程方法
/** * 执行dos命令 * @param command */ public static void command(String command) { ...
- SQL查询每个表的字段数量
--SQL查询每个表的字段数量select b.[name], count(*) As AllCount,ISNULL(ISNULL(sum(case when isnullable=0 then 1 ...