關於串兒的一二三
古羅馬皇帝凱撒在打仗時曾經使用過以下方法加密軍事情報:
請編寫一個程序
1.設計思想
由用戶鍵入一個字符串,並用函數得到用戶輸入的字符串的長度,而後將字符串轉化為字符數組。由ascII碼與大小寫字母的關系將每個字符轉化為對應的字符,而後將轉換好的字符即加密字符串打印輸出。
2.程序流程圖
3.源代碼
package jiami;
//課後作業1:字串加密.每個字符都對應它以後的第三個字符,進行加密。 2015.10.25 底雲飛
//65~90為26個大寫英文字母,97~122號為26個小寫英文字母
import java.util.Scanner;
public class Screat {
privatestatic Scanner scan; //私有靜態Scanner類變量
public static void main(String[] args){
int length; //用戶輸入的字符串長度
String zifu; //用戶輸入的字符串
scan = new Scanner(System.in); //給scan申請空間
System.out.println("請輸入英文字符串:");
zifu = scan.nextLine(); //讀取用戶輸入的字符串並賦值給zifu
System.out.println("你輸入的字符串為:"+zifu);
length = zifu.length(); //得到用戶輸入字符串的長度
char array[] = zifu.toCharArray(); //將用戶輸入的字符串轉化為字符數組
for(int i=0;i<length;i++) //將每個字符進行變換
{ //a到w的字符每個向後加3,x,y,z這三個每個減去23得到變換後的
if((array[i]>=65&&array[i]<=87)||(array[i]>=97&&array[i]<=119))
array[i]=(char) (array[i]+3);
else if((array[i]>=88&&array[i]<=90)||(array[i]>=120&&array[i]<=122))
array[i]=(char) (array[i]-23);
}
StringBuffer arr = new StringBuffer(); //定義一個stringbuffer類的變量arr
for(int i=0;i<length;i++)
{
arr.append(array[i]); //運用append方法,參考StringBufferAppend。java
}
String newstr = arr.toString(); //將變換後的重新組合為字符串
System.out.println("加密後的英文為:"+newstr); //打印組合後的字符串
}
}
4.結果截圖
關於串兒的一二三