1. java 網吧計費管理系統 如何計算上機時間
private static float getTime(String begin, String end) throws ParseException{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date begins = sdf.parse(begin);
Date ends = sdf.parse(end);
NumberFormat f = NumberFormat.getNumberInstance();
f.setMaximumFractionDigits(2);
double be =ends.getTime()-begins.getTime();
double d = be*1.0/3600000;
String s = f.format(d);
return Float.valueOf(s);
}
默認保留2位數 這個是算小時的
如果要算分的話double d = be*1.0/3600000;
這句改為double d = be*1.0/60000;就行
2. 網吧計費管理系統的java程序,登錄界面,管理員的用戶名密碼輸入正確,提示「登錄成功」
AWT的一個,正確帳號密碼為admin,123.
import java.awt.Button;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
@SuppressWarnings("serial")
public class Test extends Frame {
private Button b = new Button("登錄");
private Label lb1 = new Label("帳號:");
private Label lb2 = new Label("密碼:");
private Label lb3 = new Label("");
private TextField t1 = new TextField("");
private TextField t2 = new TextField("");
private void addListener() {
// 按鈕添加監聽 判斷用戶登錄
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionevent) {
if ("".equals(t1.getText())) {
lb3.setText("請輸入帳號!");
t1.setText("");
t2.setText("");
return;
}
if ("".equals(t2.getText())) {
lb3.setText("請輸入密碼!");
t2.setText("");
return;
}
if (!"admin".equals(t1.getText())
|| !"123".equals(t2.getText())) {
lb3.setText("帳號或密碼錯誤!");
t2.setText("");
return;
}
lb3.setText("登錄成功!");
}
});
}
public Test() {
setTitle("網吧計費管理系統");
int y = 50;
lb1.setBounds(10, y, 40, 24);
t1.setBounds(60, y, 200, 24);
y += 30;
lb2.setBounds(10, y, 40, 24);
t2.setBounds(60, y, 200, 24);
t2.setEchoChar('*');
y += 30;
b.setBounds(160, y, 100, 30);
y += 30;
lb3.setBounds(100, y, 100, 24);
setLayout(null);
add(lb1);
add(t1);
add(lb2);
add(t2);
add(b);
add(lb3);
addListener();
}
@SuppressWarnings("deprecation")
public static void main(String[] args) throws IOException {
Test t = new Test();
t.setBounds(450, 300, 300, 200);
t.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
t.show();
}
}
3. 求救:java 網吧計費系統如何計算上下機時間
如果直接在客戶端取時間的話,這樣很容易被破解: 如果用戶在注銷之前把系統時間了一下,結果會怎麼樣? 這樣取到的時間就不對了.
所以要有一個專門的時間伺服器,客戶端只管向伺服器發送上機和下機的信號,伺服器在接到這兩個信號時分別取時間,這樣就保證了時間的正確性. 簡單的做法就是直接使用資料庫伺服器的時間.
收到一個上下機信號時,使用GETDATE()獲取相應的時刻,然後將兩個時間一減就OK.
這樣也得保證你的資料庫伺服器系統日期別被人輕易改掉,否則還是不行.