zoukankan      html  css  js  c++  java
  • java学习55天2020/8/30

    设计一款电子钟类,用于显示时、分、秒

    • 含有形参有默认值的默认构造函数;

    • 前缀++ 和 后缀用于调整时间,每次调整均对秒进行调整,若秒满60,则分加1,若分满60则时加1,时满24,则清零重新开始;

    • 设置函数用于输入(设定)时间;

    • 设置函数用于输出时间。

      import java.util.Scanner;
      public class Time {
           private int hour;
           private int minute;
           private int second;
           public Time() {
               this.hour = 0;
              this.minute = 0;
               this.second = 0;
           }
           public Time(int hour, int minute, int second) {
               this.hour = hour;
               this.minute = minute;
               this.second = second;
           }
           public void zheng() {
               ++second;
               if (second >= 60) {
                   second = 0;
                   ++minute;
                   if (minute >= 60) {
                       minute = 0;
                       ++hour;
                       hour %= 24;
                   }
               }
           }
      
           public void dao() {
               second--;
               if (second < 0) {
                   minute--;
                   second = 59;
               }
               if (minute < 0) {
                   minute = 59;
                   hour--;
               }
               if (hour < 0) {
                   hour = 23;
               }
           }
           public void input() {
               Scanner in = new Scanner(System.in);
               hour = in.nextInt();
               minute = in.nextInt();
               second = in.nextInt();
           }
           // 输出电子钟
           public void output() {
               System.out.println(hour + ":" + minute + ":" + second);
           }
           public boolean dengYu(Time t) {
               if (hour == t.hour && minute == t.minute && second == t.second) {
                   return true;
               } else {
                   return false;
               }
           }
           public static void main(String[] args) throws InterruptedException {
               int n;
               Scanner in = new Scanner(System.in);
               System.out.println("功能选择:");
               System.out.println("*********");
               System.out.println("1.钟表");
               System.out.println("2.正计时");
               System.out.println("3.倒计时");
               System.out.println("*********");
               System.out.print("请输入你的选择:");
               n = in.nextInt();
               if (n == 1) {
                   System.out.print("请先校准时间:");
                   Time t = new Time();
                   t.input();
                   while (true) {
                       t.output();t.zheng();
                       Thread.sleep(2000);
                   }
               }
               if (n == 2) {
                  Time t = new Time();
                   while (true) {
                       t.output();
                       t.zheng();
                       Thread.sleep(2000);
                   }
               }
               if (n == 3) {
                   Time t1 = new Time();
                   Time t2 = new Time();
                   System.out.print("请输入时间:");
                   t1.input();
                   while (true) {
                      t1.output();
                       t1.dao();
                       Thread.sleep(2000);
                      if (t1.dengYu(t2)) {
                           break;
                       }
                   }
                   System.out.println("STOP!");
               }
           }
       }
      

       三,例题

  • 相关阅读:
    最小圆覆盖
    BZOJ3572 [Hnoi2014]世界树 【虚树 + 树形dp】
    一些组合数学
    BZOJ3611 [Heoi2014]大工程 【虚树】
    线段树合并
    BZOJ4446 [Scoi2015]小凸玩密室 【树形Dp】
    生成函数小记
    BZOJ2337 [HNOI2011]XOR和路径 【概率dp + 高斯消元】
    连续数字异或和
    POJ2976:Dropping tests——题解
  • 原文地址:https://www.cnblogs.com/qiangini/p/13587377.html
Copyright © 2011-2022 走看看