| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2621 人关注过本帖
标题:电子时钟的输入问题
只看楼主 加入收藏
宁缺T
Rank: 1
等 级:新手上路
帖 子:21
专家分:8
注 册:2019-9-12
结帖率:87.5%
收藏
已结贴  问题点数:20 回复次数:5 
电子时钟的输入问题
这个简单的时钟功能我已经基本实现,但是
1.在输入过程中的nextInt(),好像只能输入hour其他的就无法输入了。
2.在Clock类中的tick方法能把两个if语句之间的{}去掉吗?
程序代码:
package clock;


 class Clock {
    private  Display hour=new Display(24);
    private Display minute=new Display(60);
    private Display second=new Display(60);
    public Clock(int hour,int minute,int second) {
             this.hour.setValue(hour);
             this.hour.setValue(minute);
             this.hour.setValue(second);
    }
    public void tick() {
        while(true) {
            second.increase();
            if(second.getValue()==0) {

                minute.increase();
            if(minute.getValue()==0)

                hour.increase();
            }
        }
    }
    public String toString() {
  

        return String.format("%02d:%02d:02d\n", hour.getValue(),minute.getValue(),second.getValue());
   

    }
    public void start() {
        while(true) {
        minute.increase();
        if(minute.getValue()==0) {
            hour.increase();
        }
        System.out.printf("%02d:%02d\n", hour.getValue(),minute.getValue());
        }
    }
    public static void main(String[] args) {
        Clock clock=new Clock(0,0,0);
        clock.start();

    }

}
程序代码:
package clock;


 class Display {
    private int value=0;
    private int limit=0;
    //private int step=1;
    public Display(int limit) {
        this.limit=limit;
    }
   

    public void increase(){
        value++;
        if(value == limit) {
            value=0;
        }
    }
   

    public void setValue(int a)

    {
        value=a;
    }
   

     public int getValue() {
        return value;
    }
    public static void main(String[] args) {
       

        java.util.Scanner in = new java.util.Scanner(System.in);
        Clock clock = new Clock(in.nextInt(), in.nextInt(), in.nextInt());
        clock.tick();
        System.out.println(clock);
        in.close();
        //Display d=new Display(24);
        //for( ;; ) {
            //d.increase();
            //System.out.println(d.getValue());
        //}
        //Display he=new Display(10);
        //he.step=20;
        //Display she=new Display(20);
        //System.out.println(she.step);
        //System.out.println(he.step);
       

    }
}

搜索更多相关主题的帖子: public minute int Display new 
2019-11-03 11:49
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:20 
这个是干嘛的

剑栈风樯各苦辛,别时冰雪到时春
2019-11-03 14:54
宁缺T
Rank: 1
等 级:新手上路
帖 子:21
专家分:8
注 册:2019-9-12
收藏
得分:0 
回复 2楼 林月儿
这是一个以任意时刻开始的电子时钟(有时,分和秒)。

Stay hungry,Stay foolish.
2019-11-03 15:01
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
程序代码:
import java.time.LocalTime;
import java.time.format.DateTimeParseException;
import java.util.Timer;
import java.util.TimerTask;

import javax.swing.JOptionPane;

public class Test2 {
    static LocalTime time;
    public static void main(String[] args) {
        String inputStr=JOptionPane.showInputDialog("请输入时间(HH:mm:ss)");
        try {
            time = LocalTime.parse(inputStr);
            new Timer().schedule(new TimerTask() {
                
                @Override
                public void run() {
                    time=time.plusSeconds(1);
                    System.out.println(time);
                }
            }, 1000, 1000);
        }catch(DateTimeParseException e) {
            System.out.println(e.getMessage());
        }
    }
}

剑栈风樯各苦辛,别时冰雪到时春
2019-11-03 15:40
宁缺T
Rank: 1
等 级:新手上路
帖 子:21
专家分:8
注 册:2019-9-12
收藏
得分:0 
回复 4楼 林月儿
大佬,您这是自己写了一个,我的问题是在我输入的时候他没个我结果。

Stay hungry,Stay foolish.
2019-11-04 15:46
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
不好意思。第一个问题你试着拆开来写呢

剑栈风樯各苦辛,别时冰雪到时春
2019-11-04 19:18
快速回复:电子时钟的输入问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030787 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved