复制代码代码如下:
ซีซาร์คลาสสาธารณะ {
แหล่งสตริงสุดท้ายแบบคงที่สาธารณะ = "abcdefghijklmnopqrstuvwxyz";
int สุดท้ายคงที่สาธารณะ LEN = SOURCE.length ();
-
* @param args
-
โมฆะคงที่สาธารณะ main (String [] args) {
ผลลัพธ์สตริง = caesarEncryption("newyork");
System.out.println("ผลการเข้ารหัส:" + ผลลัพธ์);
System.out.println("ผลการถอดรหัส:" + caesarDecryption(ผล));
-
//การเข้ารหัส
สาธารณะสตริง caesarEncryption (สตริง s) {
StringBuilder sb = StringBuilder ใหม่ ();
ถ้า (s == null || s.length() < 1) {
System.out.println("คุณไม่ได้ป้อนข้อมูลใดๆ");
กลับเป็นโมฆะ;
-
ถ้า (!isAlp) {
System.out.println("อินพุต ABC... เท่านั้น");
กลับเป็นโมฆะ;
-
s = s.toLowerCase();
int len = s.ความยาว ();
สำหรับ (int j = 0; j <len; j ++) {
ถ่าน c = s.charAt(j);
int a = SOURCE.indexOf(c);
ถ้า (a == LEN -1) a = -1;
ถ้า (a == LEN -2) a = -2;
ถ้า (a == LEN - 3) a = -3;
sb.ผนวก(SOURCE.charAt(a + 3));
-
กลับ sb.toString();
-
//ถอดรหัส
สาธารณะสตริงคงที่ caesarDecryption (สตริง s) {
StringBuilder sb = StringBuilder ใหม่ ();
ถ้า (s == null || s.length() < 1) {
System.out.println("คุณไม่ได้ป้อนข้อมูลใดๆ");
กลับเป็นโมฆะ;
-
ถ้า (!isAlp) {
System.out.println("อินพุต ABC... เท่านั้น");
กลับเป็นโมฆะ;
-
s = s.toLowerCase();
สำหรับ (int i = 0; i < s.length(); i++) {
ถ่าน c = s.charAt(i);
int a = SOURCE.indexOf(c);
ถ้า (a == 2) a = LEN + 2;
ถ้า (a == 1) a = LEN + 1;
ถ้า (a == 0) a = LEN;
sb.ผนวก(SOURCE.charAt(a - 3));
-
กลับ sb.toString();
-
สาธารณะ isAlp บูลีนคงที่ (String s) {
สตริง p = "^[A-Za-z]+$";
รูปแบบรูปแบบ = Pattern.compile(p);
Matcher matcher = pattern.matcher(s);
ถ้า (matcher.find()) {
กลับเป็นจริง;
-
กลับเท็จ;
-
-