亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? caeser1.java

?? 本設計基本上能夠實現了課題的要求
?? JAVA
字號:
package my;

/**
 * <p>Title: 人工智能實驗設計</p>
 * <p>Description: 主要有關密碼的解密</p>
 * <p>Copyright: 李少君@author (c) 2006</p>
 * <p>Company: fzu </p>
 * @author : 李少君
 * @version 1.0
 */

import java.util.*;
import java.io.*;
import javax.swing.*;

public class Caeser1 {
  HashMap dic;
  String Text = new String();
  String explain = new String(" ");
  String textPlaint;
  int[] Time = new int[26];
  int numOfword = 0;
  void SetText(String s) {
    this.Text = s;
  }

  void SetExplain(String s) {
    this.explain = s;
  }

  String getout() {
    return textPlaint;
  }

  String getText() {
    return Text;
  }

  String getexplain() {
    return explain;
  }

  private void initialWordClass(String s) {
    dic = new HashMap();
    String temp = "";
    try {
      FileInputStream fis = new FileInputStream(s);
      InputStreamReader isr = new InputStreamReader(fis);
      BufferedReader bfr = new BufferedReader(isr);
      do {
        temp = bfr.readLine();
        if (temp == null)
          break;
        dic.put(temp, temp);
      }
      while (true);
    }
    catch (Exception e) {
      JOptionPane.showMessageDialog(null, "找不到詞庫文件!", "Message Diolog ",
                                    JOptionPane.ERROR_MESSAGE);
    }
  }

  public Caeser1() {
  }

  public int Max(int num, int[] a) {
    int max = a[0];
    int key = 0;
    for (int i = 0; i < 26; i++) {
      if (max < a[i]) {
        max = a[i];
        key = i;
      }
    }
    if (max > (num * 9 / 10) && num != 0)
      return key;
    else
    if (num == 0)
      return key;
    else
      return -1;

  }

  public void Decode1(int key) {
    int L = Text.length();
    int flagOfWord = 0;
    boolean choose;
    StringBuffer out = new StringBuffer();
    StringBuffer tent = new StringBuffer();
    int countOfWord = 0;
    for (int i = 0; i < L; i++) {
      char ch = Text.charAt(i);
      if (ch >= 'A' && ch <= 'Z') {
        ch = (char) ( (ch + 32 - 97 - key + 26) % 26 + 97);
        tent.append(ch);
        out.append(ch);
        countOfWord++;
        flagOfWord = 1;
      }
      else if (ch >= 'a' && ch <= 'z') {
        ch = (char) ( (ch - 97 - key + 26) % 26 + 97);
        tent.append(ch);
        out.append(ch);
        countOfWord++;
        flagOfWord = 1;
      }
      else {
        if (flagOfWord == 1) {
          //  long start = System.currentTimeMillis();
          choose = dic.containsKey(tent.toString());
          // long finish=System.currentTimeMillis();
          //System.out.println("time:: "+(finish-start));

          if (choose == true) {
            //  System.out.println("tent:: "+tent);
            Time[key]++;
            // if(key==0)
            //numOfword++;
          }
          numOfword++;
          tent.delete(0, countOfWord);
          countOfWord = 0;
          flagOfWord = 0;
        }
        out.append(ch);
      }
    }
    textPlaint = out.toString();

  }

  public void C_Decode() {
    //System.out.println("text: " + Text);
    int key;
    long start = System.currentTimeMillis();
    initialWordClass("word.dic");
    for (key = 0; key < 26; key++) {
      //System.out.println("key: " + key);
      numOfword = 0;
      Time[key] = 0;
      Decode1(key);
      if (Time[key] == numOfword && numOfword != 0) {
        long finish = System.currentTimeMillis();
        //System.out.println("time:: "+(finish-start));
        this.SetExplain(" 解密成功! :)\n  此密文的密鑰是" + key + "\n 耗時:" +
                        (finish - start) + "毫秒!");
        break;
      }
    }
    int item;
    if (key == 26) {
      item = Max(numOfword, Time);
      if (item == -1) {
        this.SetExplain(" 對不起,無法解密!");
        //explain = explain.toString();
      }
      else {
        this.SetExplain(" 解密成功! :)\n  此密文的密鑰是" + item);
        //explain = explain.toString();
        Decode1(item);
      }
    }
  }

  //heuristic
  public void C_HDecode(int chance) {
    //相對高的頻率,可能對應于明文字母集合{r,n,I,o,a,s}。
    //最低頻率的字母,很可能包括在集合{w,v,b,k,x,q,j,z}。
    long start1 = System.currentTimeMillis();

    initialWordClass("word.dic");

    int[] Frequent = new int[26];
    char[] Referto = {
        'e', 't', 'a', 'o', 'i', 'n', 's', 'h', 'r', 'd', 'l',
        'c', 'u', 'm', 'w', 'f', 'g', 'y', 'p', 'b', 'v', 'k', 'j', 'x', 'q',
        'z'};

    int[] Compare = new int[26];
    int key1, key2;

    int Long = Text.length();
    for (int i = 0; i < Long; i++) { //統計26個字母的出現頻率
      char c = Text.charAt(i);
      if (c <= 'z' && c >= 'a')
        Frequent[c - 'a']++;
      else if (c <= 'Z' && c >= 'A')
        Frequent[c - 'A']++;
    }
    //選擇出頻率高的
    if (chance == 1) {
      int tem = Max(0, Frequent);
      for (int i = 0; i < 26; i++) {
        key1 = ('a' + tem - Referto[i] + 26) % 26;
        numOfword = 0;
        Time[key1] = 0;
        Decode1(key1);
        if (Time[key1] == numOfword && numOfword != 0) {
          long finish1 = System.currentTimeMillis();
          this.SetExplain("  解密成功! :)\n  本啟發式函數可以解此密文哦!:P\n  此密文的密鑰是" + key1 +
                          "\n  歡迎再次使用!" + "\n  耗時" + (finish1 - start1) + "毫秒!");
          break;
        }
        //}
        if (i == 25) {
          key2 = Max(numOfword, Time);
          if (key2 == -1) {
            this.SetExplain("Sorry!:< \n 啟發式的啟發函數對此密文不夠解密!\n也許您可以嘗試輸入更長的信息密文!\n鑒于本算法是對字母的信息統計!\n還有待改進啊!\n - -0");
            //explain = explain.toString();
          }
          else {
            long finish2 = System.currentTimeMillis();
            this.SetExplain("解密成功! :)\n  此密文的密鑰是" + key2 + "\n  耗時" +
                            (finish2 - start1) + "毫秒!");
            //explain = explain.toString();
            Decode1(key2);
          }

        }
      }

    }
    else { //代入法的程序
      //for (int k = 0; k < 6; k++) {
      int[] tin = Frequent;
      char[] Place = new char[26];
      for (int i = 0; i < 26; i++) {
        int y = Max(0, tin);
        Place[y] = Referto[i];
        tin[y] = -1;

        char c1 = (char) ('a' + y);
        char c2 = (char) ('A' + y);
        Text.replace(c1, Place[y]);
        Text.replace(c2, Place[y]);
      }

      //}
      //System.out.print("place is:"+Place);
      numOfword = 0;
      Time[0] = 0;
      Decode1(0);
      if (Time[0] == numOfword && numOfword != 0 ||
          Time[0] > numOfword * 9 / 10) {
        String temp = "";
        String temp1 = "";
        for (int i = 0; i < 26; i++) {
          temp += Place[i];
          temp += ' ';
          temp1 += (char) ('a' + i);
          temp1 += ' ';
        }
         long finish3 = System.currentTimeMillis();
        this.SetExplain("解密成功! :)\n  此密文的替換表是:\n" + temp1 + "\n" + temp+"\n耗時"+(finish3-start1)+"微秒!");
      }
      else
        this.SetExplain("Sorry!:< \n 此解密算法不夠解密! 您可以嘗試輸入更多的信息!");
      //}
    }
  }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产亚洲5555| 久久亚洲捆绑美女| 99久久免费国产| 国产精品主播直播| 国产九色精品成人porny| 韩国成人精品a∨在线观看| 免费观看在线综合| 麻豆传媒一区二区三区| 美女脱光内衣内裤视频久久网站| 日精品一区二区| 日本特黄久久久高潮| 美日韩一区二区| 韩国理伦片一区二区三区在线播放| 精彩视频一区二区三区| 国产精品资源在线观看| 91在线国产福利| 在线视频欧美精品| 欧美精品在线视频| 日韩欧美电影一二三| 久久综合一区二区| 国产精品卡一卡二| 亚洲电影欧美电影有声小说| 午夜精品一区在线观看| 极品少妇xxxx精品少妇偷拍| 成人免费黄色大片| 欧美日韩国产在线播放网站| 精品蜜桃在线看| 亚洲视频在线一区| 日韩成人午夜电影| 成人久久视频在线观看| 在线免费亚洲电影| 26uuu色噜噜精品一区二区| 中文字幕av一区二区三区| 亚洲欧美色一区| 美美哒免费高清在线观看视频一区二区 | 久久亚洲二区三区| 中文字幕色av一区二区三区| 亚洲午夜一区二区| 国产在线视频一区二区| 色婷婷久久一区二区三区麻豆| 欧美高清一级片在线| 久久久亚洲精品一区二区三区 | 一二三四区精品视频| 免费人成黄页网站在线一区二区| 福利一区二区在线观看| 宅男噜噜噜66一区二区66| 国产精品传媒视频| 国内国产精品久久| 91精品国产高清一区二区三区蜜臀| 亚洲国产精品成人综合| 老司机午夜精品| 欧美在线影院一区二区| 国产精品国产三级国产aⅴ入口 | 国产成人日日夜夜| 555www色欧美视频| 亚洲国产美国国产综合一区二区| 夫妻av一区二区| 欧美成人猛片aaaaaaa| 午夜国产精品一区| 一本久久精品一区二区| 国产精品久久看| 国产一区二区女| 精品国精品国产| 狠狠色丁香久久婷婷综| 欧美一区二区三区四区五区 | 欧美午夜片在线看| 亚洲日本在线天堂| 不卡免费追剧大全电视剧网站| 26uuu成人网一区二区三区| 麻豆国产精品一区二区三区| 欧美日韩一本到| 亚洲图片欧美综合| 欧美视频一区二区三区四区 | 五月婷婷久久丁香| 欧洲另类一二三四区| 亚洲色图在线看| 91免费视频观看| 一区二区三区中文在线| 一本在线高清不卡dvd| 一区二区三区中文字幕精品精品 | 国内精品免费在线观看| 日韩欧美久久一区| 精品一二三四区| 久久丝袜美腿综合| 东方aⅴ免费观看久久av| 欧美高清在线一区| 97精品电影院| 亚洲午夜av在线| 欧美一级片在线观看| 久久99国产乱子伦精品免费| 久久久亚洲高清| 99久免费精品视频在线观看| 一区二区在线电影| 欧美高清性hdvideosex| 捆绑调教美女网站视频一区| 亚洲精品在线观| av福利精品导航| 午夜视频一区二区三区| 精品电影一区二区| 99综合电影在线视频| 亚洲国产精品久久人人爱| 91麻豆精品91久久久久同性| 国产剧情av麻豆香蕉精品| 国产精品欧美精品| 欧美高清www午色夜在线视频| 久久99国产精品久久99| 亚洲日本护士毛茸茸| 欧美精品色综合| 丁香六月综合激情| 亚洲一二三区在线观看| 久久老女人爱爱| 欧美日韩高清一区| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 欧美日韩中字一区| 国产一区二区精品久久91| 亚洲猫色日本管| 欧美一区二区三区精品| 成人三级在线视频| 蜜桃视频一区二区| 日韩毛片在线免费观看| 欧美一级片在线| 91丨九色丨国产丨porny| 精品一区二区久久久| 亚洲福利国产精品| 国产精品无圣光一区二区| 日韩小视频在线观看专区| 91丨porny丨中文| 国产伦理精品不卡| 日韩高清不卡一区| 一区二区三区蜜桃| 中文字幕制服丝袜一区二区三区| 欧美电影免费观看高清完整版在线观看 | 精品视频免费在线| 成人午夜电影小说| 国模一区二区三区白浆| 日韩一区精品视频| 有码一区二区三区| 亚洲欧美另类久久久精品| 欧美国产丝袜视频| 久久亚洲一区二区三区四区| 在线播放日韩导航| 欧美私人免费视频| 在线观看网站黄不卡| 91色婷婷久久久久合中文| 成人综合婷婷国产精品久久蜜臀| 麻豆国产欧美一区二区三区| 日本美女视频一区二区| 亚洲成人av一区二区三区| 亚洲精选免费视频| 亚洲欧美另类综合偷拍| 成人免费视频在线观看| 亚洲视频图片小说| 亚洲精品乱码久久久久久黑人| 中文字幕在线观看不卡视频| 国产精品青草久久| 中文字幕中文字幕一区| 综合自拍亚洲综合图不卡区| 国产精品久久久久久久蜜臀| 中文字幕不卡在线| 一区在线观看免费| 亚洲黄色小说网站| 亚洲成人先锋电影| 美腿丝袜一区二区三区| 国产制服丝袜一区| 成人综合日日夜夜| 99久久国产综合精品麻豆| 91国偷自产一区二区三区成为亚洲经典 | 美国三级日本三级久久99 | 国产美女一区二区| 国产成人在线视频免费播放| 成人免费视频视频在线观看免费 | 亚洲第一激情av| 日日夜夜一区二区| 狠狠色丁香婷综合久久| 成人美女视频在线看| 欧美自拍偷拍一区| 制服丝袜中文字幕一区| 久久久久久**毛片大全| 18涩涩午夜精品.www| 精品无人码麻豆乱码1区2区| 国产成人福利片| 日本韩国欧美国产| 日韩精品一区二区三区视频在线观看| xvideos.蜜桃一区二区| 亚洲日本韩国一区| 美女视频黄 久久| 92精品国产成人观看免费| 欧美一区二区在线视频| 国产女人aaa级久久久级| 一区二区日韩av| 国产一区二区视频在线播放| 日本道精品一区二区三区| 欧美精品一区二区三区视频| 亚洲色图第一区| 蜜臀久久99精品久久久久久9| av一区二区三区| 日韩欧美不卡一区| 亚洲永久精品国产| 国产91精品一区二区麻豆网站 | 91精品一区二区三区在线观看|