(一)古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:请编写一个程序,使用上述算法加密或解密用户输入的英文字串。

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之课程问题解决的更多相关文章

  1. JAVA语法02之课程问题解决

    (一)示例程序+运行结果: ①EnumTest.java public class EnumTest { public static void main(String[] args) { Size s ...

  2. 灵魂拷问:为什么 Java 字符串是不可变的?

    在逛 programcreek 的时候,发现了一些精妙绝伦的主题.比如说:为什么 Java 字符串是不可变的?像这类灵魂拷问的主题,非常值得深思. 对于绝大多数的初级程序员来说,往往停留在" ...

  3. 最新咕咆+鲁班+图灵+享学+蚂蚁+硅谷+源码 Java架构师资料《Java架构师VIP课程》

    最新的Java架构师完整资料,完整视频+源码+文档. 每一套都是一百多个G的资料,无密. JAVA架构师全套课程 咕泡学院互联网架构师第一期 咕泡学院互联网架构师第二期 咕泡学院互联网架构师第三期 博 ...

  4. OMG,12 个精致的 Java 字符串操作小技巧,学它

    字符串可以说是 Java 中最具有代表性的类了,似乎没有之一哈,这就好像直播界的李佳琪,脱口秀中的李诞,一等一的大哥地位.不得不承认,最近吐槽大会刷多了,脑子里全是那些段子,写文章都有点不由自主,真的 ...

  5. Java 字符串格式化详解

    Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...

  6. 20145212《Java程序程序设计》课程总结

    20145212<Java程序程序设计>课程总结 一.每周读书笔记链接汇总 第一周读书笔记 第二周读书笔记 第三周读书笔记 第四周读书笔记 第五周读书笔记 第六周读书笔记 第七周读书笔记 ...

  7. (转)Java字符串

    转自:http://blog.sina.com.cn/s/blog_899678b90101brz0.html 创建字符串有两种方式:两种内存区域(字符串池,堆)1," " 引号创 ...

  8. 20145223《Java程序程序设计》课程总结

    20145223<Java程序程序设计>课程总结 每周读书笔记链接汇总 第一周学习总结 第二周学习总结 第三周学习总结 第四周学习总结 第五周学习总结 第六周学习总结 第七周学习总结 第八 ...

  9. Java字符串split函数的注意事项

    Java字符串的split方法可以分割字符串,但和其他语言不太一样,split方法的参数不是单个字符,而是正则表达式,如果输入了竖线(|)这样的字符作为分割字符串,会出现意想不到的结果, 如, Str ...

随机推荐

  1. 非本地跳转之setjmp与longjmp

    非本地跳转(unlocal jump)是与本地跳转相对应的一个概念. 本地跳转主要指的是类似于goto语句的一系列应用,当设置了标志之后,可以跳到所在函数内部的标号上.然而,本地跳转不能将控制权转移到 ...

  2. ABAP代码编辑器设置--界线

    ABAP编辑器每行允许的最大字符数: Utilities->Settings打开选项卡: 勾选:Downward-Compat.line Length(72) 设置后看到的效果: 设置步骤:

  3. Tomcat崩溃

    参考: http://bbs.csdn.net/topics/390391810?page=1 自己遇到的: --------------------------------------------- ...

  4. java源代码跟踪

    首先我们要学会的是将JDK源码加载Eclipse中. 1.点“窗口”——>"首选项",选择左边的"Java"——>"已安装的JRE&quo ...

  5. linux驱动中printk的使用注意事项

    今天在按键驱动中增加printk(KERN_INFO "gpio_keys_gpio_isr()\n");在驱动加载阶段可以输出调试信息,但驱动加载起来后的信息,在串口端看不到输出 ...

  6. DEV GridControl小结

    1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.Ad ...

  7. [OC] Podfile 格式内容

    platform :ios, '8.0' target :'targetName' do pod 'Masonry', '~> 1.0.1' pod 'SDCycleScrollView', ' ...

  8. DateEdit控件的使用

    按照年月日时分秒显示时间 1. 设置Mask.EditMask和DisplayFormat,EditFormat属性,设置为一致:'yyyy-MM-dd HH:mm';  //按照想要的显示格式设置此 ...

  9. js : json和 cookie 的简单操作

    使用 cookie,可以记录用户的最近的浏览历史 <!DOCTYPE HTML> <html lang="zh-cn"> <head> < ...

  10. Gbase数据库备份与还原

    备份命令:cd D:\GeneralData\GBase\Server\bin        回车 后 : d :        回车 后: dump.exe -usysdba(u+用户名) -pbj ...