用java编写一个类实现秒表的功能

编写一个类实现秒表的功能秒表类的属性:minutes整型,代表分针指示的时间数seconds双精度型,代表秒针指示的时间数秒表类的方法:startCount无形参和返回值... 编写一个类实现秒表的功能
秒表类的属性:
minutes 整型,代表分针指示的时间数
seconds 双精度型,代表秒针指示的时间数
秒表类的方法:
startCount 无形参和返回值,实现开始计时的功能
stopCount 无形参和返回值,实现停止计时的功能
reset 无形参和返回值,实现分针秒针归零的功能
getMinute 无形参 返回整型值,实现获得分针示数的功能
getSecond 无形参 返回双精度值,实现获得秒针示数的功能
getTotalTime 无形参 返回整型值,实现获得总时间的毫秒数
的功能
toString 无形参 把当前秒表指示的时间用“分数:秒数.毫秒数”的格式组合成字符串返回
利用以上定义的秒表类,编写程序统计某一个算法计算机执行的时间。
展开
 我来答
sirouszlh
推荐于2017-11-25 · TA获得超过1651个赞
知道小有建树答主
回答量:1038
采纳率:100%
帮助的人:640万
展开全部
java System.currentTimeMillis() 就是获取当前的毫秒数
开始时记录 istart= System.currentTimeMillis();

结束时 记录 iend= System.currentTimeMillis();

分钟就是 Math.round((iend-istart)/(60*1000));
那 秒数 就是 Math.round((iend-istart)/1000)%60

再开启一个定时器,定时获取 itmp= System.currentTimeMillis();计算分钟和秒数 显示出来
显示动态在跳得秒和分
匿名用户
推荐于2018-03-03
展开全部
package test;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class T extends JFrame implements Runnable,ActionListener
{
private int minutes;
private static double seconds;
private Thread mb;
private boolean isRun;
private Button start,stop,reset;
private Label desplay;
T(){
start=new Button("开始");
stop=new Button("停止");
reset=new Button("重置");
desplay=new Label();
this.setLayout(null);
desplay.setBounds(0,30,200,50);
start.setBounds(0,80,50,50);
stop.setBounds(60,80,50,50);
reset.setBounds(120,80,50,50);
refresh();
add(desplay);
add(start);
start.addActionListener(this);
stop.addActionListener(this);
reset.addActionListener(this);
add(stop);
add(reset);
setSize(300,200);
show();
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public static void main(String[] args)
{
new T();
}
public void run(){
while(isRun){
try{
seconds+=0.001d;
Thread.sleep(1);
if(seconds>59d){
seconds=0d;
minutes=minutes+1;
System.out.print(minutes);
}
refresh();
}
catch(Exception e){}
}
}
public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("开始")){
startCount();
}
else if(e.getActionCommand().equals("停止")){
stopCount();
}
else{
reset();
}
}
public void refresh(){
desplay.setText(toString());
}
public void startCount(){
if(!isRun){
isRun=true;
mb=new Thread(this);
mb.start();
}
}
public void stopCount(){
if(isRun){
isRun=false;
}
}
public void reset(){
isRun=false;
minutes=0;
seconds=0d;
refresh();
}
public int getMinute(){
return minutes;
}
public double getSecond(){
return seconds;
}
public int getTotalTime(){
return minutes+(int)(seconds*1000);
}
public String toString(){
return ""+minutes+":"+(int)seconds+":"+(int)((seconds-(int)seconds)*1000);
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
用心爱你你不D
推荐于2016-07-16 · 知道合伙人教育行家
用心爱你你不D
知道合伙人教育行家
采纳数:3971 获赞数:39132
喜欢理工科,10年从业经验,就职Alibaba

向TA提问 私信TA
展开全部
package test;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class T extends JFrame implements Runnable,ActionListener
{
private int minutes;
private static double seconds;
private Thread mb;
private boolean isRun;
private Button start,stop,reset;
private Label desplay;
T(){
start=new Button("开始");
stop=new Button("停止");
reset=new Button("重置");
desplay=new Label();
this.setLayout(null);
desplay.setBounds(0,30,200,50);
start.setBounds(0,80,50,50);
stop.setBounds(60,80,50,50);
reset.setBounds(120,80,50,50);
refresh();
add(desplay);
add(start);
start.addActionListener(this);
stop.addActionListener(this);
reset.addActionListener(this);
add(stop);
add(reset);
setSize(300,200);
show();
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public static void main(String[] args) 
{
new T();
}
public void run(){
while(isRun){
try{
seconds+=0.001d;
Thread.sleep(1);
if(seconds>59d){
seconds=0d;
minutes=minutes+1;
System.out.print(minutes);
}
refresh();
}
catch(Exception e){}
}
}
public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("开始")){
startCount();
}
else if(e.getActionCommand().equals("停止")){
stopCount();
}
else{
reset();
}
}
public void refresh(){
desplay.setText(toString());
}
public void startCount(){
if(!isRun){
isRun=true;
mb=new Thread(this);
mb.start();
}
}
public void stopCount(){
if(isRun){
isRun=false;
}
}
public void reset(){
isRun=false;
minutes=0;
seconds=0d;
refresh();
}
public int getMinute(){
return minutes;
}
public double getSecond(){
return seconds;
}
public int getTotalTime(){
return minutes+(int)(seconds*1000);
}
public String toString(){
return ""+minutes+":"+(int)seconds+":"+(int)((seconds-(int)seconds)*1000);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式