Life is filled with wonder

          置頂隨筆 #

          [置頂]八皇后

          寫了兩天,
          應用遞歸和回溯.
          對如何組織類,
          更一步加深
          /Files/xyq002444/Queens.rar
          八皇后主程序的算法
          import java.util.*;

          public class QueenSolver {

              
          private int count;  //皇后的數(shù)目
              private Queen queens[];
              
          private Queue<Queen[]> queue;

              
          public QueenSolver(int count) {
                  
          this.count = count;
                  queens 
          = new Queen[count];
                  queue 
          = new QueenList<Queen[]>();
                  
          this.initialize();
                  
          this.process();
              }

              
          //初始化
              private void initialize() {
                  
          for (int i = 0; i < count; i++{
                      queens[i] 
          = new Queen(i + 10);
                  }

              }

              
          //能否放置一個皇后
              private boolean place(Queen queen) {
                  
          for (int i = 0; i < queen.x - 1; i++{
                      
          if (queens[i].y == queen.y || queens[i].getX_Y() == queen.getX_Y() || queens[i].getAddXY() == queen.getAddXY()) {
                          
          return false;
                      }

                  }

                  
          return true;
              }


              
          private void process() {
                  
          int k = 1;
                  queens[k 
          - 1].y = 0;
                  
          while (k > 0{
                      queens[k 
          - 1].y = queens[k - 1].y + 1;
                      
          while (queens[k - 1].y <= count && !this.place(queens[k - 1])) {
                          queens[k 
          - 1].y = queens[k - 1].y + 1;
                      }

                      
          if (queens[k - 1].y <= count) {
                          
          if (k == count) {
                              
          //                   this.printPosition(queens);
                              Queen[] queenClone = new Queen[queens.length];
                              
          for (int i = 0; i < queenClone.length; i++{
                                  queenClone[i] 
          = new Queen(queens[i].x, queens[i].y);
                              }

                              
          for (int i = 0; i < queens.length; i++{
                                  queens[i].setXPosition();
                                  queens[i].setYPosition();
                              }

                              queue.offer(queenClone);
                          }
           else {
                              k 
          = k + 1;
                              queens[k 
          - 1].y = 0;
                          }

                      }
           else {
                          k 
          = k - 1;
                      }

                  }

              }


              
          public void printPosition(Queen[] queens) {
                  
          for (Queen queen : queens) {
                      System.out.println(queen.x 
          + " y: " + queen.y);
                  }

              }


              
          public Queue<Queen[]> getQueue() {
                  
          return this.queue;
              }

          }

          posted @ 2007-12-14 21:14 小屁 閱讀(827) | 評論 (2)編輯 收藏

          2008年1月15日 #

          Java中10種數(shù)據(jù)庫的直連方式

          1、Oracle8/8i/9i數(shù)據(jù)庫(thin模式)
          Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
          String url="jdbc:oracle:thin:@localhost:1521:orcl";
          //orcl為數(shù)據(jù)庫的SID
          String user="test";
          String password="test";
          Connection conn= DriverManager.getConnection(url,user,password);

          2、DB2數(shù)據(jù)庫
          Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
          String url="jdbc:db2://localhost:5000/sample";
          //sample為你的數(shù)據(jù)庫名
          String user="admin";
          String password="";
          Connection conn= DriverManager.getConnection(url,user,password);

          3、Sql Server7.0/2000數(shù)據(jù)庫
          Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
          String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
          //mydb為數(shù)據(jù)庫
          String user="sa";
          String password="";
          Connection conn= DriverManager.getConnection(url,user,password);

          4、Sybase數(shù)據(jù)庫
          Class.forName("com.sybase.jdbc.SybDriver").newInstance();
          String url =" jdbc:sybase:Tds:localhost:5007/myDB";
          //myDB為你的數(shù)據(jù)庫名
          Properties sysProps = System.getProperties();
          SysProps.put("user","userid");
          SysProps.put("password","user_password");
          Connection conn= DriverManager.getConnection(url, SysProps);

          5、Informix數(shù)據(jù)庫
          Class.forName("com.informix.jdbc.IfxDriver").newInstance();
          String url =
          "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
          user=testuser;password=testpassword";
          //myDB為數(shù)據(jù)庫名
          Connection conn= DriverManager.getConnection(url);

          6、MySQL數(shù)據(jù)庫
          Class.forName("org.gjt.mm.mysql.Driver").newInstance();
          String url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
          //myDB為數(shù)據(jù)庫名
          Connection conn= DriverManager.getConnection(url);

          7、PostgreSQL數(shù)據(jù)庫
          Class.forName("org.postgresql.Driver").newInstance();
          String url ="jdbc:postgresql://localhost/myDB"
          //myDB為數(shù)據(jù)庫名
          String user="myuser";
          String password="mypassword";
          Connection conn= DriverManager.getConnection(url,user,password);

          8\access數(shù)據(jù)庫
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
          String url="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb");
          Connection conn = DriverManager.getConnection(url,"","");
          Statement stmtNew=conn.createStatement() ;

          9\\cloudscape
          Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
          String Url="jdbc:derby:E:/database/luo";
          Connection con=DriverManager.getConnection(Url);
          Statement sta=con.createStatement();

          posted @ 2008-01-15 09:29 小屁 閱讀(346) | 評論 (0)編輯 收藏

          2007年12月14日 #

          八皇后

          寫了兩天,
          應用遞歸和回溯.
          對如何組織類,
          更一步加深
          /Files/xyq002444/Queens.rar
          八皇后主程序的算法
          import java.util.*;

          public class QueenSolver {

              
          private int count;  //皇后的數(shù)目
              private Queen queens[];
              
          private Queue<Queen[]> queue;

              
          public QueenSolver(int count) {
                  
          this.count = count;
                  queens 
          = new Queen[count];
                  queue 
          = new QueenList<Queen[]>();
                  
          this.initialize();
                  
          this.process();
              }

              
          //初始化
              private void initialize() {
                  
          for (int i = 0; i < count; i++{
                      queens[i] 
          = new Queen(i + 10);
                  }

              }

              
          //能否放置一個皇后
              private boolean place(Queen queen) {
                  
          for (int i = 0; i < queen.x - 1; i++{
                      
          if (queens[i].y == queen.y || queens[i].getX_Y() == queen.getX_Y() || queens[i].getAddXY() == queen.getAddXY()) {
                          
          return false;
                      }

                  }

                  
          return true;
              }


              
          private void process() {
                  
          int k = 1;
                  queens[k 
          - 1].y = 0;
                  
          while (k > 0{
                      queens[k 
          - 1].y = queens[k - 1].y + 1;
                      
          while (queens[k - 1].y <= count && !this.place(queens[k - 1])) {
                          queens[k 
          - 1].y = queens[k - 1].y + 1;
                      }

                      
          if (queens[k - 1].y <= count) {
                          
          if (k == count) {
                              
          //                   this.printPosition(queens);
                              Queen[] queenClone = new Queen[queens.length];
                              
          for (int i = 0; i < queenClone.length; i++{
                                  queenClone[i] 
          = new Queen(queens[i].x, queens[i].y);
                              }

                              
          for (int i = 0; i < queens.length; i++{
                                  queens[i].setXPosition();
                                  queens[i].setYPosition();
                              }

                              queue.offer(queenClone);
                          }
           else {
                              k 
          = k + 1;
                              queens[k 
          - 1].y = 0;
                          }

                      }
           else {
                          k 
          = k - 1;
                      }

                  }

              }


              
          public void printPosition(Queen[] queens) {
                  
          for (Queen queen : queens) {
                      System.out.println(queen.x 
          + " y: " + queen.y);
                  }

              }


              
          public Queue<Queen[]> getQueue() {
                  
          return this.queue;
              }

          }

          posted @ 2007-12-14 21:14 小屁 閱讀(827) | 評論 (2)編輯 收藏

          2007年11月10日 #

          清靜了一些

          新?lián)Q了一個博客,
          原來在javaeye的博客,廢棄了.
          這里讓我感覺更清靜一些,
          記錄一些對生活的感悟,
          正如我的標題
          Life is filled with wonder

          posted @ 2007-11-10 19:17 小屁 閱讀(172) | 評論 (0)編輯 收藏

          僅列出標題  
          主站蜘蛛池模板: 项城市| 枣庄市| 基隆市| 山东省| 长春市| 旬阳县| 曲阜市| 阜新市| 潼南县| 厦门市| 隆安县| 邻水| 涞水县| 台南县| 临汾市| 清河县| 台湾省| 嘉定区| 元氏县| 吉木萨尔县| 无为县| 灵寿县| 西昌市| 万盛区| 洞头县| 恭城| 湘潭市| 运城市| 嘉黎县| 上高县| 哈密市| 长乐市| 皋兰县| 射阳县| 获嘉县| 福泉市| 盐山县| 闽侯县| 界首市| 无为县| 浙江省|