凯撒密码:
import java.io.*; import java.util.Scanner; public class KaiSa1{ public static void main(String[] args){ System.out.print("请输入密钥:"); Scanner s=new Scanner(System.in); int a=s.nextInt(); C(a); } public static void C(int n){ try{ char b[]; BufferedReader br2=new BufferedReader(new InputStreamReader(System.in)); System.out.println("请输入一段明文:"); String str2=br2.readLine(); b=str2.toCharArray(); System.out.println("密文为:"); int k=n; for(int i=0;i<str2.length();i++) { char ch=(char)((b[i]-'a'+k)%26+'a'); System.out.print(ch); } System.out.println("密匙K="+k); } catch(IOException e){ System.out.println(e.getMessage()); } } }
附录:String类型常用方法整理:
(1)String.charAt():
例:str1.charAt(index);返回字符串str1中下标为index的字符,下标从0开始计数
(2)String.length():
例:str1.length();返回字符串str1的长度,或者说是大小
(3)String.equals():
例:str1.equals(str2);如果字符串st1的内容与字符串str2内容相同,则返回true,否则返回false
(4)Sting.toLowerCase():
例:str1.toLowerCase();返回一个新字符,它拥有与字符串str1相同的字符,但是把所有的大写字母都转换成了小写
(5)Sting.toUpperCase():
例:str1.toUpperCase();返回一个新字符,它拥有与字符串str1相同的字符,但是把所有的小写字母都转换成了大写
(6)Sting.replace():
例:str1.replace(oldChar,newChar);返回一个新字符,它拥有与字符串str1相同的字符,但是把每一个oldCase字符都替换为newCase字符
(7)String.toCharArray():
例:chararray[] = str1.toCharArray();把字符串str1转换成字符数组,并保存在chararrayp[]中
(8)String.getChars():
例:str1.getChars(0,5,charArray,0);把字符串str1中从下标0开始到下标5结束的子串拷贝到字符数组charArray中,字符数组的起始下标为0
(9)Sting.trim():
例:str1.trim();返回一个新字符,它拥有与字符串str1相同的字符,但是删除了字符串str1的前后空白字符,(空白字符包括空格、制表符以及转行字符)