JAVA字符串05之课程问题解决
Posted 夏小暑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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之课程问题解决的主要内容,如果未能解决你的问题,请参考以下文章