📄 fangwen.java
字号:
if(!r2.equalsIgnoreCase(f1)&&!r11.equalsIgnoreCase(r1)&&!r2.equalsIgnoreCase(f2))
{
System.out.println("转一次车的乘车方案是:从景点'"+ff1+"'步行到"+f1+"站坐"+r1+"路车到"
+r2+"站下车再坐"+r11+"路到目的站'"+f2+"'再步行到景点"+ff2+"总共经过了"+k+"个站点");
String bbt=("转一次车的乘车方案是:从景点'"+ff1+"'步行到"+f1+"站坐"+r1+"路车到"
+r2+"站下车再坐"+r11+"路到目的站'"+f2+"'再步行到景点"+ff2+"总共经过了"+k+"个站点");
if(q2==1)//J1是空的,将转一次车的站点和车次放的到J1中
{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);
}
}
// r7.close();
stmt.close();
stmt1.close();
stmt2.close();
con.close();
con=DriverManager.getConnection(ur1);
stmt=con.createStatement();
stmt.executeUpdate("DROP TABLE B1");
stmt.executeUpdate("DROP TABLE B2");
stmt.executeUpdate("DROP TABLE B3");
stmt.executeUpdate("DROP TABLE B33");
stmt.executeUpdate("DROP TABLE B4");
stmt.executeUpdate("DROP TABLE B5");
/* stmt.executeUpdate("delete from J1");//删除记录,注意不能写成大写
stmt.executeUpdate("delete from J0");
stmt.executeUpdate("delete from J2");*/
//stmt3.close();
//stmt4.close();
// stmt6.close();
}
catch(SQLException ex)
{
ex.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -