📄 bank.java
字号:
package AirT;
import java.awt.Button;
import java.awt.Frame;
import java.awt.List;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.sql.DriverManager;
public class bank extends Frame implements ActionListener{
/**
*
*/
private static final long serialVersionUID = 5565201842315506989L;
DatagramSocket ds = null;
List lst = new List(6);
Button bt = new Button("startSever");
public bank()
{
try
{
ds=new DatagramSocket(8001);
}
catch(Exception ex)
{
ex.printStackTrace();
}
this.add(lst,"Center");
this.add(bt,"South");
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
ds.close();
stopSever();
dispose();
System.exit(0);
}
});
bt.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
// TODO 自动生成方法存根
System.out.println("StartSever.java 正运行");//测试语句,对程序不起作用
new Thread(new Runnable(){
public void run()
{
byte [] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf,1024);
while(true)
{
try
{
ds.receive(dp);
String strInfo = new String(dp.getData(),0,dp.getLength())
+"|from"+dp.getAddress().getHostAddress()+":"+dp.getPort();
//System.out.println(strInfo);
//String IndexMesg = split();
lst.add(strInfo);
int port = dp.getPort();
String sp = String.valueOf(port);
System.out.println(sp);
String [] IndexMesg = strInfo.split("\\|");
for(int i=0;i<IndexMesg.length;i++)
{
System.out.print(IndexMesg[i]+" ");
}
System.out.println("");
String name = IndexMesg[0];
String code = IndexMesg[1];
String fare = IndexMesg[2];
System.out.println(name +","+code+","+fare);
//int mon = Integer.parseInt(fare);
JudgeMoney(name,code,fare,port);
AirfieldM(fare);
}
catch (Exception e)
{
if (ds.isClosed())
{
e.printStackTrace();
}
}
}
}
}).start();
}
public void JudgeMoney(String s1,String s2, String s3, int port)
{
String str,wzl;
int dm = Integer.parseInt(s3);
try
{
Class.forName("org.gjt.mm.mysql.Driver");
java.sql.Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/test",
"root","123");
java.sql.Statement stmt = conn.createStatement();
String sql = "select money from bank where name='" +s1+"'";
sql += "and code= '" + s2 + "'";
java.sql.ResultSet rs = stmt.executeQuery( sql );
while (rs.next())
{
str = rs.getString("money");
System.out.println(str);
int bm = Integer.parseInt(str);
if (bm >= dm) {
bm = bm-dm;
String stcm = String.valueOf(bm);
Mondify(s1,s2,stcm);
wzl = "true";
SendBack(wzl,port);
}
else {
//
wzl = "false";
SendBack(wzl,port);
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
//return fe;
}
public void Mondify(String str1, String str2, String str3)
{
//"update studentbase set money='""' where number='""and code= '"
try
{
Class.forName("org.gjt.mm.mysql.Driver");
java.sql.Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/test",
"root","123");
java.sql.Statement stmt = conn.createStatement();
String sqlm = "update bank set money='"+ str3 +"'where name='"+ str1 +"'and code= '"+ str2 +"'";
stmt.executeUpdate(sqlm);
}
catch (Exception et)
{
et.printStackTrace();
}
}
public void AirfieldM(String dm)
{
String strp;
int mon = Integer.parseInt(dm);
try
{
Class.forName("org.gjt.mm.mysql.Driver");
java.sql.Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/test",
"root","123");
java.sql.Statement stmt = conn.createStatement();
String sql = "select money from bank where name='宏桥机场'";
sql += "and code= '0210797'";
java.sql.ResultSet rs = stmt.executeQuery( sql );
while (rs.next())
{
strp = rs.getString("money");
int pm = Integer.parseInt(strp);
pm += mon;
String stcm = String.valueOf(pm);
addAirfield(stcm);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
public void addAirfield(String nowm)
{
try
{
Class.forName("org.gjt.mm.mysql.Driver");
java.sql.Connection conn2 = DriverManager.getConnection("jdbc:mysql://localhost/test",
"root","123");
java.sql.Statement stmt2 = conn2.createStatement();
String sqlm = "update bank set money='"+ nowm +"'where name='宏桥机场'and code= '0210797'";
stmt2.executeUpdate(sqlm);
}
catch (Exception et)
{
et.printStackTrace();
}
}
public void SendBack(String si, int Bport)
{
try
{
DatagramSocket ds1 = new DatagramSocket();
String strInfo1 = si;
ds1.send(new DatagramPacket(strInfo1.getBytes(),
strInfo1.getBytes().length,InetAddress.getByName("127.0.0.1"),8002));
String strInft = String.valueOf(Bport);
System.out.println(si+","+strInft);
ds1.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public void finalize()
{
System.out.println("finalize()");
}
public void stopSever()
{//关闭对用户的所有服务。
System.gc();
finalize();
}
public static void main(String args[])
{
bank mainFrame = new bank();
mainFrame.setSize(300,400);
mainFrame.setTitle("BankSeveric");
mainFrame.setVisible(true);
mainFrame.setResizable(false);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -