标签:使用 oid 9.png 字符数组 es2017 ges 利用 pac style
字串加密
1.问题提出:
古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:
1.设计思想
方法1. 读入一行字符串,赋给str,利用string.charAt()函数依次取出str所存的字符,若是该字符在a-u或A-U间,将该字符加3赋给字符temp,或者该字符在v-z或V-Z间,将该字符减23赋给temp,将temp与str1连接起来赋给str1。重复该操作,直到结束循环。str1即是加密后的字符串。
方法2. 读入一行字符串,赋给s,利用String.toCharArray()将s转化为字符数组a[],再通过循环取出每个字符,判断若是该字符在a-u或A-U间,将该字符加3赋给int数组d[i],或者该字符在v-z或V-Z间,将该字符减23的值赋给d[i],再将d[i]转为对应的字符temp,将temp与str连接起来赋给str。重复该操作,直到结束循环。
综上以上两方法实质相同。
2.程序流程图
3.源代码
方法一
1 package String; 2 3 import java.util.Scanner; 4 5 public class Secret { 6 public static void main(String[] args) { 7 Scanner in=new Scanner (System.in); 8 System.out.println("输入初始字符串:"); 9 String str1=""; 10 int n=0; 11 String str=in.nextLine(); 12 n=str.length(); 13 char temp=0; 14 for(int i=0;i<n;i++) 15 { 16 if(str.charAt(i)>64&&str.charAt(i)<88||str.charAt(i)>96&&str.charAt(i)<120) 17 temp=(char)(str.charAt(i)+3); 18 else if(str.charAt(i)>87&&str.charAt(i)<91||str.charAt(i)>119&&str.charAt(i)<123) 19 temp=(char)(str.charAt(i)-23); 20 else 21 temp=(char)str.charAt(i); 22 str1+=temp; 23 } 24 System.out.println("加密后的字符串\n"+str1); 25 } 26 }
方法二
1 package String; 2 3 import java.util.Scanner; 4 5 public class Secret { 6 public static void main(String[] args) { 7 Scanner in=new Scanner (System.in); 8 System.out.println("输入初始字符串:"); 9 String str=""; 10 char temp=0; 11 String s=in.nextLine(); 12 int d[]=new int[s.length()]; 13 char a[]=s.toCharArray(); 14 for(int i=0;i<s.length();i++) 15 { 16 if(a[i]>=‘A‘&&a[i]<=‘U‘||a[i]>=‘a‘&&a[i]<=‘u‘) 17 { d[i]=a[i]+3; } 18 else if((a[i]>=‘V‘&&a[i]<=‘Z‘)||(a[i]>=‘v‘&&a[i]<=‘z‘)) 19 { 20 d[i]=a[i]-23; 21 } 22 else 23 d[i]=a[i]; 24 temp=(char)d[i]; 25 str+=temp; 26 } 27 System.out.println("加密后的字符串:\n"+str); 28 } 29 30 }
4.结果截图
标签:使用 oid 9.png 字符数组 es2017 ges 利用 pac style
原文地址:http://www.cnblogs.com/zhao-teng-ass/p/7739819.html