⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fangwen1.java

📁 java写的一交通导航程序点击任意两站点就可以以可视化的方式将转车次数最少的乘车方案找出来 注:连ACCESS数据库 odbc数据源名称为lv
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                                    j=rr12.getInt("id");
                                    k=k+Math.abs((i-j));//System.out.println(""+k+"");

                                    d=kongge.fh(r1);//去掉空格
                                    r1=r1.substring(0,d);//取子串函数
                                      d=kongge.fh(r2);
                                              r2=r2.substring(0,d);
                                                d=kongge.fh(r11);
                                              r11=r11.substring(0,d);

                                    if(!r2.equalsIgnoreCase(f1)&&!r11.equalsIgnoreCase(r1)&&!r2.equalsIgnoreCase(f2))
                                    {

        /////////////////////////////  System.out.println("转一次车的乘车方案是:由'"+f1+"'站坐"+r1+"路车到"
       /////////////////////////////      +r2+"站下车再坐"+r11+"路到目的站'"+f2+"'总共经过了"+k+"个站点");
                                String bbt="转一次车的乘车方案是:由'"+f1+"'站坐"+r1+"路车到"
                                    +r2+"站下车再坐"+r11+"路到目的站'"+f2+"'总共经过了"+k+"个站点";
                               if(q2==1)
                               {stmt.executeUpdate("INSERT INTO J1(车次1,站点,车次2,k) VALUES('"+r1+"','"+r2+"','"+r11+"','"+k+"')");}
                            
                                tofile.write(fileOut,bbt);


                                }
                                }
                                   } while(r5.next());
                           }

                           else       //E(I,U)和F(J,V)没有交集,即转一次车不能到达
                           {   System.out.println("转一次车不能到达");
                               String bbt="转一次车不能到达";
                               //tofile.write(fileOut,bbt);
                     



                           /* ResultSet rr13=stmt3.executeQuery("SELECT DISTINCT 站点 FROM C0 ");//找出所有站点
                              while(rr13.next())//用D0记录所有的站点
                                        {

                                                String r2=rr13.getString("站点");



                                                stmt.executeUpdate("INSERT INTO C2(站点) VALUES('"+r2+"')");//将找出的所有站点放到C2中

                            }*/

                           //String query6="SELECT * FROM "+g1+" WHERE 车次 IN (SELECT 车次 FROM "+g1+" WHERE 站点 IN (SELECT 站点 FROM B3))";
                            String query6="SELECT * FROM "+g1+" WHERE 车次 IN (SELECT DISTINCT 车次 FROM B33)";
                           ResultSet r6=stmt6.executeQuery(query6);
                                 while(r6.next())//用B5记录G(K,W)
                                                {   String r0=r6.getString("id");
                                                        String r1=r6.getString("车次");
                                                        String r2=r6.getString("站点");
                                                        stmt.executeUpdate("INSERT INTO B5(id,车次,站点) VALUES("+r0+","+r1+",'"+r2+"')");

                                    }

                            String query7="SELECT * FROM B5 WHERE B5.站点 in (SELECT 站点 FROM B4)";//求G(K,W)和F(J,V)的交集

                            ResultSet r7=stmt2.executeQuery(query7);
                            //stmt.close();
                            if(r7.next())//G(K,W)和F(J,V)有交集,即转两次车能够到达
                            {
                                    //输出结果 
                                    int q3=0;
                                      ResultSet c3=stmt4.executeQuery("SELECT * FROM J2");
                                      if(!c3.next()) q3=1;

                                    do{	int i=0,j=0,k=0,d=0;//t=0;

                                        String r1=r7.getString("车次");
                                              String r2=r7.getString("站点");
                                              String query55="SELECT * FROM B4 WHERE 站点='"+r2+"'";//有两条记录怎么办?
                                              ResultSet r77=stmt4.executeQuery(query55);

                                              String r11=" ";
                                              String r22=" ";
                                              String r222=" ";
                                              String r2222=" ";
                                              String r111=" ";
                                         if(r77.next())
                                         {
                                                      r11=r77.getString("车次");
                                                      r22=r77.getString("站点");
                                                      String query777="SELECT * FROM B33 WHERE 车次='"+r1+"'";
                                                      ResultSet r777=stmt1.executeQuery(query777);


                                                      if(r777.next())
                                                      {
                                                        r222=r777.getString("站点");
                                                  }
                                                      String query7777="SELECT * FROM B3 WHERE 站点='"+r222+"'";
                                                      ResultSet r7777=stmt1.executeQuery(query7777);

                                                      if(r7777.next())
                                                      {
                                                        r111=r7777.getString("车次");//可能有很多怎么办?
                                                      }


                                          {
                                                 ResultSet rr6=stmt1.executeQuery("SELECT * FROM "+g1+" WHERE 车次='"+r111+"'AND 站点='"+f1+"'");
                                                 rr6.next();
                                            i=rr6.getInt("id");
                                                   ResultSet rr7=stmt1.executeQuery("SELECT * FROM "+g1+" WHERE 车次='"+r111+"'AND 站点='"+r222+"'");
                                                   rr7.next();
                                            j=rr7.getInt("id");
                                                   k=k+Math.abs((i-j));//System.out.println(""+k+"");
                                          ResultSet rr8=stmt1.executeQuery("SELECT * FROM "+g1+" WHERE 车次='"+r1+"'AND 站点='"+r222+"'");
                                            rr8.next();
                                            i=rr8.getInt("id");
                                                   ResultSet rr9=stmt1.executeQuery("SELECT * FROM "+g1+" WHERE 车次='"+r1+"'AND 站点='"+r2+"'");
                                            rr9.next();
                                            j=rr9.getInt("id");
                                                   k=k+Math.abs((i-j));//System.out.println(""+k+"");
                                                   ResultSet rr10=stmt1.executeQuery("SELECT * FROM "+g1+" WHERE 车次='"+r11+"'AND 站点='"+r2+"'");
                                                   rr10.next();
                                                   i=rr10.getInt("id");
                                                   ResultSet rr11=stmt1.executeQuery("SELECT * FROM "+g1+" WHERE 车次='"+r11+"'AND 站点='"+f2+"'");
                                                   rr11.next();
                                                   j=rr11.getInt("id");
                                                   k=k+Math.abs((i-j));//System.out.println(""+k+"");
                                                   d=kongge.fh(r222);//去掉空格
                                                   r222=r222.substring(0,d);//取子串函数
                                                      d=kongge.fh(r111);
                                                          r111=r111.substring(0,d);
                                                          d=kongge.fh(r11);
                                                          r11=r11.substring(0,d);
                                                          d=kongge.fh(r2);
                                                          r2=r2.substring(0,d);
                                                          d=kongge.fh(r1);
                                                          r1=r1.substring(0,d);
                                                      if(!r222.equalsIgnoreCase(r2)&&!r111.equalsIgnoreCase(r1)
                                                     &&!r111.equalsIgnoreCase(r11)&&!r11.equalsIgnoreCase(r1)
                                                     &&!r222.equalsIgnoreCase(f1)&&!r2.equalsIgnoreCase(f2)&&!r222.equalsIgnoreCase(f2))
                                                   {

                                                   //System.out.println("转两次车的乘车方案是:由'"+f1+"'站坐"+r111+"路到"+r222+"站下车再坐"+r1
                                                              //+"路到"+r2+"站下车再坐"+r11+"路车到达目的站'"+f2+"'站总共经过了"+k+"个站点");
                                            String cct="转两次车的乘车方案是:由'"+f1+"'站坐"+r111+"路到"+r222+"站下车再坐"+r1
                                                         +"路到"+r2+"站下车再坐"+r11+"路车到达目的站'"+f2+"'站总共经过了"+k+"个站点";
                                           if(q3==1)             
                                            {stmt.executeUpdate("INSERT INTO J2(车次1,站点1,车次2,站点2,车次3,k) VALUES("+r111+",'"+r222+"',"+r1+",'"+r2+"',"+r11+","+k+")"); }        
                                          
                                            tofile.write(fileOut,cct);
                                         }
                                          }

                                }

                                 }while(r7.next());


                            }
                            else// G(K,W)和F(J,V)没有交集,即转两次车不能够到达
                            {

                                    //System.out.println("转两次车不能到达");
                                    String ddt="转两次车不能到达";
                                    tofile.write(fileOut,ddt);

                            }
                            }

               
                  stmt.close();
               stmt1.close();
               stmt2.close();
               con.close();
               
               //stmt3.close();
               //stmt4.close();
              // stmt6.close();






                }
           catch(SQLException ex)
           {
                   ex.printStackTrace();
           }


}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -