Life is filled with wonder

          置頂隨筆 #

          [置頂]八皇后

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

          public class QueenSolver {

              
          private int count;  //皇后的數目
              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 小屁 閱讀(824) | 評論 (2)編輯 收藏

          2008年1月15日 #

          Java中10種數據庫的直連方式

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

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

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

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

          5、Informix數據庫
          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為數據庫名
          Connection conn= DriverManager.getConnection(url);

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

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

          8\access數據庫
          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 小屁 閱讀(342) | 評論 (0)編輯 收藏

          2007年12月14日 #

          八皇后

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

          public class QueenSolver {

              
          private int count;  //皇后的數目
              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 小屁 閱讀(824) | 評論 (2)編輯 收藏

          2007年11月10日 #

          清靜了一些

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

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

          僅列出標題  
          主站蜘蛛池模板: 宜川县| 喀喇沁旗| 武胜县| 东阳市| 施秉县| 壤塘县| 巴林左旗| 德兴市| 兴山县| 泽州县| 南昌县| 霸州市| 咸阳市| 得荣县| 崇仁县| 正宁县| 芦山县| 翁牛特旗| 揭东县| 北京市| 玉山县| 潮州市| 晋州市| 福建省| 上林县| 和政县| 大宁县| 安义县| 荥阳市| 浦北县| 兰州市| 贡觉县| 拜城县| 霍城县| 吉木萨尔县| 巴楚县| 株洲县| 建宁县| 泽库县| 晋宁县| 青冈县|