课后作业之字符串加密
一:程序設計思想:
該程序開始先輸出菜單提示用戶輸入選項進行操作是要加密還是要解密,通過校驗后進行相應操作,加密字符串時先輸入要加密的字符串,然后用字符串的toCharArray()方法將字符串轉化為char類型數組,然后用循環分別給char類型元素加3,當遇到空格時不加三,對于大寫的XYZ三個字母以及小寫的xyz三個字母要進行特殊的處理,即要進行加完三后還要減去26,讓他們循環到大寫的ABC或小寫的abc上,對于解密方法,程序一致,只是把加三換成減三,加26換成減26;最后輸出相應的字符串。
二:程序流程圖:
三:程序源代碼:
import java.util.Scanner;
public class Password
{
public static void main(String [] args)
{
Scanner input=new Scanner(System.in);
System.out.println("1 加密"); //輸出菜單
System.out.println("2 解密");
System.out.println("請選擇");
int choose=input.nextInt();
while(choose!=1&&choose!=2) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //校驗choose
{
System.out.println("輸入的選項不符合要求,請重新輸入:");
choose=input.nextInt();
}
if(choose==1) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //choose=1進行字符串加密
{
String jiami = null;
System.out.println("請輸入要加密的字符串:");
input.nextLine();
jiami=input.nextLine();
char ch[]=jiami.toCharArray();
System.out.println("加密后為:");
for(int i=0;i<jiami.length();i++)
{
if(ch[i]==' ')ch[i]=' ';
else
ch[i]=(char) (ch[i]+3);
if(ch[i]>'Z'&&ch[i]<(char)'Z'+4||ch[i]>'z')
ch[i]=(char) (ch[i]-26);
System.out.print(ch[i]);
}
}
if(choose==2) //choose=2進行字符串解密
{
String jiemi = null;
System.out.println("請輸入要解密的字符串:");
input.nextLine();
jiemi=input.nextLine();
char ch1[]=jiemi.toCharArray();
System.out.println("解密后為:");
for(int i=0;i<jiemi.length();i++)
{
if(ch1[i]==' ')ch1[i]=' ';
else
ch1[i]=(char) (ch1[i]-3);
if(ch1[i]>'A'-4&&ch1[i]<'A'||ch1[i]>(char)'a'-4&&ch1[i]<'a')
ch1[i]=(char) (ch1[i]+26);
System.out.print(ch1[i]);
}
}
}
}
四:結果截圖:
?
轉載于:https://www.cnblogs.com/zhangliqiangvictory/p/7727039.html
總結
以上是生活随笔為你收集整理的课后作业之字符串加密的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Eclipse Collections随
- 下一篇: Docker创建虚机和swarm