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.
这样也得保证你的数据库服务器系统日期别被人轻易改掉,否则还是不行.