字符串加密解密:html
源代碼:java
package tutorial04String; import javax.swing.JOptionPane; public class Wordsecret { public static void main(String args[]){ String q =JOptionPane.showInputDialog("請選擇加密1,解密2");//對話框形式選擇功能 int m= Integer.parseInt(q); if(m==1)//加密 { String s =JOptionPane.showInputDialog( "請輸入一串字符:" ); int i,len; len = s.length(); String output = ""; for(i =0;i<len;i++) { char c=s.charAt(i);//核心算法,加密分狀況。當取出的字符在w以後,返回到字母表前面 if(c<'x'&&c>='a') c= (char)(c+3); else if(c>'w'&&c<='z') {c=(char)(c-26+3); } else if(c<'X'&&c>='A') c= (char)(c+3); else { c=(char)(c-26+3); } output+=c; } System.out.println(output); } else//解密 { String s =JOptionPane.showInputDialog( "請輸入一串字符:" ); int i,len; len = s.length(); String output = ""; for(i =0;i<len;i++) { char c=s.charAt(i); if(c<'d'&&c>='a') { c= (char)(c-3+26);//解密算法,當字符取出爲d以前的數,調到字母表後面 } else if(c>='d'&&c<='z') c=(char)(c-3); else if(c<'D'&&c>='A') c= (char)(c-3+26); else { c=(char)(c-3); } output+=c; } System.out.println(output); } } }
運行截圖:算法
public boolean equals(Object anObject)編程
將此字符串與指定的對象比較。當且僅當該參數不爲 null,而且是與此對象表示相同字符序列的 String 對象時,結果才爲 true。數組
覆蓋:編程語言
參數:this
anObject - 與此 String 進行比較的對象。加密
返回:spa
若是給定對象表示的 String 與此 String 相等,則返回 true;不然返回 false。
public int length()
返回此字符串的長度。長度等於字符串中 Unicode 代碼單元的數量。
指定者:
接口 CharSequence 中的 length
返回:
此對象表示的字符序列的長度。
public char charAt(int index)
返回指定索引處的 char 值。索引範圍爲從 0 到 length() - 1。序列的第一個 char 值位於索引 0 處,第二個位於索引 1 處,依此類推,這相似於數組索引。
若是索引指定的 char 值是代理項,則返回代理項值。
指定者:
接口 CharSequence 中的 charAt
參數:
index - char 值的索引。
返回:
此字符串指定索引處的 char 值。第一個 char 值位於索引 0 處。
拋出:
IndexOutOfBoundsException - 若是 index 參數爲負或小於此字符串的長度。
public void getChars(int srcBegin,
int srcEnd,
char[] dst,
int dstBegin)
將字符今後序列複製到目標字符數組 dst。要複製的第一個字符在索引 srcBegin 處;要複製的最後一個字符在索引 srcEnd-1 處。要複製的字符總數爲 srcEnd-srcBegin。要複製到 dst 子數組的字符從索引 dstBegin 處開始,結束於如下索引:
dstbegin + (srcEnd-srcBegin) - 1
參數:
srcBegin - 今後偏移量處開始複製。
srcEnd - 在此偏移量處中止複製。
dst - 用來保存複製數據的數組。
dstBegin - dst 中的偏移量。
拋出:
NullPointerException - 若是 dst 爲 null。
IndexOutOfBoundsException - 若是如下任意一項爲 true:
public String replace(char oldChar,
char newChar)
返回一個新的字符串,它是經過用 newChar 替換此字符串中出現的全部 oldChar 獲得的。
若是 oldChar 在此 String 對象表示的字符序列中沒有出現,則返回對此 String 對象的引用。不然,建立一個新的 String 對象,它所表示的字符序列除了全部的 oldChar 都被替換爲 newChar 以外,與此 String 對象表示的字符序列相同。
示例:
"mesquite in your cellar".replace('e', 'o')
returns "mosquito in your collar"
"the war of baronets".replace('r', 'y')
returns "the way of bayonets"
"sparring with a purple porpoise".replace('p', 't')
returns "starring with a turtle tortoise"
"JonL".replace('q', 'x') returns "JonL" (no change)
參數:
oldChar - 原字符。
newChar - 新字符。
返回:
一個今後字符串派生的字符串,它將此字符串中的全部 oldChar 替代爲 newChar。
replace
public String replace(CharSequence target,
CharSequence replacement)
使用指定的字面值替換序列替換此字符串全部匹配字面值目標序列的子字符串。該替換從字符串的開頭朝末尾執行,例如,用 "b" 替換字符串 "aaa" 中的 "aa" 將生成 "ba" 而不是 "ab"。
參數:
target - 要被替換的 char 值序列
replacement - char 值的替換序列
返回:
所得 String
拋出:
NullPointerException - 若是 target 或 replacement 爲 null。
public String toUpperCase()
使用默認語言環境的規則將此 String 中的全部字符都轉換爲大寫。此方法等效於 toUpperCase(Locale.getDefault())。
注: 此方法與語言環境有關,若是用於應獨立於語言環境解釋的字符串,則可能生成不可預料的結果。示例有編程語言標識符、協議鍵、HTML 標記。例如,"title".toUpperCase() 在 Turkish(土耳其語)語言環境中返回 "T?TLE",其中「?」是 LATIN CAPITAL LETTER I WITH DOT ABOVE 字符。對於與語言環境有關的字符,要得到正確的結果,請使用 toUpperCase(Locale.ENGLISH)。
返回:
要轉換爲大寫的 String
public String toLowerCase()
使用默認語言環境的規則將此 String 中的全部字符都轉換爲小寫。這等效於調用 toLowerCase(Locale.getDefault())。
注: 此方法與語言環境有關,若是用於應獨立於語言環境解釋的字符串,則可能生成不可預料的結果。示例有編程語言標識符、協議鍵、HTML 標記。例如,"TITLE".toLowerCase() 在 Turkish(土耳其語)語言環境中返回 "t?tle",其中「?」是 LATIN SMALL LETTER DOTLESS I 字符。對於與語言環境有關的字符,要得到正確的結果,請使用 toLowerCase(Locale.ENGLISH)。
返回:
要轉換爲小寫的 String。
public String trim()
返回字符串的副本,忽略前導空白和尾部空白。
若是此 String 對象表示一個空字符序列,或者此 String 對象表示的字符序列的第一個和最後一個字符的代碼都大於 '\u0020'(空格字符),則返回對此 String 對象的引用。
不然,若字符串中沒有代碼大於 '\u0020' 的字符,則建立並返回一個表示空字符串的新 String 對象。
不然,假定 k 爲字符串中代碼大於 '\u0020' 的第一個字符的索引,m 爲字符串中代碼大於 '\u0020' 的最後一個字符的索引。建立一個新的 String 對象,它表示此字符串中從索引 k 處的字符開始,到索引 m 處的字符結束的子字符串,即 this.substring(k, m+1) 的結果。
此方法可用於截去字符串開頭和末尾的空白(如上所述)。
返回:
此字符串移除了前導和尾部空白的副本;若是沒有前導和尾部空白,則返回此字符串。
public char[] toCharArray()
將此字符串轉換爲一個新的字符數組。
返回:
一個新分配的字符數組,它的長度是此字符串的長度,它的內容被初始化爲包含此字符串表示的字符序列。