معلومات المنتج:
الطبقة العامة قيصر {
المصدر النهائي للسلسلة الثابتة العامة = "abcdefghijklmnopqrstuvwxyz";
public static Final int LEN = SOURCE. length();
/**
* @param args
*/
public static void main(String[] args) {
نتيجة السلسلة = caesarEncryption("newyork");
System.out.println("نتيجة التشفير:" + result);
System.out.println("نتيجة فك التشفير:" + caesarDecryption(result));
}
//التشفير
سلسلة caesarEncryption العامة الثابتة (سلسلة s) {
StringBuilder sb = new StringBuilder();
إذا (s == null || s.length() < 1) {
System.out.println("لا تدخل شيئًا.");
عودة فارغة؛
}
إذا (!isAlp(s)) {
System.out.println("إدخال ABC... فقط");
عودة فارغة؛
}
s = s.toLowerCase();
int len = s. length();
لـ (int j = 0; j < len; j++) {
شار ج = s.charAt(j);
int a = SOURCE.indexOf(c);
إذا (أ == LEN -1) أ = -1؛
إذا (أ == LEN -2) أ = -2؛
إذا (أ == LEN - 3) أ = -3؛
sb.append(SOURCE.charAt(a + 3));
}
إرجاع sb.toString();
}
//فك التشفير
سلسلة caesarDecryption العامة الثابتة (سلسلة s) {
StringBuilder sb = new StringBuilder();
إذا (s == null || s.length() < 1) {
System.out.println("لا تدخل شيئًا.");
عودة فارغة؛
}
إذا (!isAlp(s)) {
System.out.println("إدخال ABC... فقط");
عودة فارغة؛
}
s = s.toLowerCase();
لـ (int i = 0; i < s.length(); i++) {
شار ج = s.charAt(i);
int a = SOURCE.indexOf(c);
إذا (أ == 2) أ = لين + 2؛
إذا (أ == 1) أ = لين + 1؛
إذا (أ == 0) أ = لين؛
sb.append(SOURCE.charAt(a - 3));
}
إرجاع sb.toString();
}
المنطقية العامة الثابتة isAlp(String s) {
String p = "^[A-Za-z]+$";
نمط النمط = Pattern.compile(p);
Matcher matcher = Pattern.matcher(s);
إذا (matcher.find()) {
عودة صحيحة؛
}
عودة كاذبة.
}
}