
正文
java计时代码完成时间 java程序计时
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Java怎么给方法计时
你可以在开始和结束的时候,分别记录下当前的时间的这毫秒数。然后再减,以下是一段代码。
public class Test{
public static void main(String[] args) {
long startMili=System.currentTimeMillis();// 当前时间对应的毫秒数
System.out.println("开始 "+startMili);
// 执行一段代码,求一百万次随机值
for(int i=0;i1000000;i++){
Math.random();
}
long endMili=System.currentTimeMillis();
System.out.println("结束 s"+endMili);
System.out.println("总耗时为:"+(endMili-startMili)+"毫秒");
}
}
相关问答
Q1: java编程时 如何进行计时?在时间内完成则显示时间,没有完成则跳出程序
给你代码。
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class Test extends JFrame implements ActionListener {
private JTextField text = null;
private JTextArea area = null;
private SimpleDateFormat sdf = new SimpleDateFormat("mm:ss");
private Calendar time = Calendar.getInstance();
private JButton start = null;
private JButton complete = null;
private Timer timer = null;
public Test() {
time.set(Calendar.MINUTE, 25);
time.set(Calendar.SECOND, 0);
JPanel top = new JPanel();
top.setLayout(new BorderLayout());
JLabel label = new JLabel("time:");
text = new JTextField("25:00");
text.setEditable(false);
top.add(label, BorderLayout.WEST);
top.add(text, BorderLayout.CENTER);
add(top, BorderLayout.NORTH);
area = new JTextArea();
area.setEnabled(false);
JScrollPane scrollpane = new JScrollPane(area);
add(scrollpane, BorderLayout.CENTER);
JPanel buttons = new JPanel();
buttons.setLayout(new FlowLayout(FlowLayout.RIGHT));
start = new JButton("start");
start.addActionListener(this);
buttons.add(start);
complete = new JButton("Complete");
complete.addActionListener(this);
buttons.add(complete);
add(buttons, BorderLayout.SOUTH);
setSize(400, 300);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new Test();
}
@Override
public void actionPerformed(ActionEvent e) {
JButton btn = (JButton) e.getSource();
if ("start".equals(e.getActionCommand())) {
area.setEnabled(true);
timer = new Timer();
timer.schedule(new TimeTask(), new Date(), 1000);
start.setEnabled(false);
} else {
start.setEnabled(true);
area.setEnabled(false);
timer.cancel();
}
}
class TimeTask extends TimerTask {
@Override
public void run() {
time.add(Calendar.SECOND, -1);
String strTime = sdf.format(time.getTime());
text.setText(strTime);
if ("00:00".equals(strTime)) {
start.setEnabled(true);
area.setEnabled(false);
this.cancel();
}
}
}
}
Q2: 求人用java编写一条计时器代码。
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.*;
import java.util.*;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.plaf.OptionPaneUI;
public class Demo {
static boolean isRuning=false;
static boolean isFirst=true;
@SuppressWarnings("unchecked")
public static void main(String[] args) throws Exception {
JFrame form1 = new JFrame("Form1");
JTextField jTextField = new JTextField(10);
jTextField.setSize(10, 10);
jTextField.setText("0");
jTextField.setEditable(false);
JButton jButton = new JButton("开始");
jButton.setSize(10, 10);
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
while (true) {
while(isRuning){
Integer counter = Integer.parseInt(jTextField.getText().trim());
counter++;
jTextField.setText(counter.toString());
try {
Thread.sleep(1000);
} catch (Exception e2) {
}
}
}
}
});
jButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String text=jButton.getText().equals("开始")?"暂停":"开始";
jButton.setText(text);
isRuning=!isRuning;
if(isFirst){
thread.start();
isFirst=false;
}
}
});
JPanel panel = new JPanel();
panel.setSize(200, 200);
panel.add(jTextField, BorderLayout.NORTH);
panel.add(jButton, BorderLayout.CENTER);
form1.add(panel);
form1.setBounds(200, 100, 250, 150);
form1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
form1.addWindowListener(new WindowListener() {
@Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowClosing(WindowEvent e) {
// 窗口关闭前取出文本框的数字保存到外部文件,代码在此处写
JOptionPane.showMessageDialog(null, "Are you sure closing?");
}
@Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
}
});
form1.setVisible(true);
}
}
Q3: 在Java中如何实现计时的这样一个功能,比如在限定时间完成游戏,没有完成就退出,怎么限定的时间呢?
//可以启动一个线程来做时间计算
//也可以用timer来实现定时 timer使用wait 我这里用sleep
//关键不是用什么而是用线程来解决问题
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Runnable r = new Runnable() {
final long start = System.currentTimeMillis() ;
public void run() {
try {
while(true) {
Thread.sleep(1000);
long now = System.currentTimeMillis();
if(now-start=10000) {
System.out.println("打字时间结束了");
System.exit(0);
}
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
System.out.println("可以开始打字了,10秒后就不能打了");
Scanner s = new Scanner(System.in);
Thread t = new Thread(r);
t.start();
while(s.hasNext()) {
System.out.println(s.nextLine());
}
}
}
关于java计时代码完成时间和java程序计时的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






