Java、C时间差值计算器(自用)

Java时间计算器

用Java做的小型计算器,用于计算电影某段到某段的时间差(朋友需要,随便写写,自用)

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        System.out.println("欢迎使用Muyan时间计算器");
        Scanner times=new Scanner(System.in);
        boolean f=true;

        int hour=0;
        int minute=0;
        int second=0;
        int hour1=0;
        int minute1=0;
        int second1=0;
        int hour2=0;
        int minute2=0;
        int second2=0;

        do {
            System.out.println("请输入起始时间:时");
            hour1=times.nextInt();
            f=hournums(hour1);
        } while (!f);

        do {
            System.out.println("请输入起始时间:分");
            minute1 = times.nextInt();
            f=minutenums(minute1);
        }while (!f);

        do {
            System.out.println("请输入起始时间:秒");
            second1=times.nextInt();
            f=secondnums(second1);
        }while (!f);

        do {
            System.out.println("请输入终止时间:时");
            hour2=times.nextInt();
            f=hournums(hour1,hour2);
        }while (!f);

        do {
            System.out.println("请输入终止时间:分");
            minute2=times.nextInt();
            if (hour2==hour1){
                f=minutenums(minute1,minute2);
            }else {
                f=minutenums(minute2);
            }
        }while (!f);

        do {
            System.out.println("请输入终止时间:秒");
            second2 = times.nextInt();
            if (hour2==hour1&&minute1==minute2){
                f = secondnums(second1,second2);
            }else {
                f = secondnums(second2);
            }
        }while (!f);

        //shi
        hour=hours(hour1,hour2);
        //fen
        if (minute2-minute1<0&&hour>0){
            minute=minutes(minute1,minute2+60);
            hour=hour-1;
        }

        //miao
        if (second2-second1<0&&minute>0){
            second=seconds(second1,second2+60);
            minute=minute-1;
        } else if (minute==0&&hour>0) {
            hour=hour-1;
            minute=minute+60;
            second=seconds(second1,second2+60);
            minute=minute-1;
        }else {
            second=seconds(second1,second2);
        }

        //shuchujieguo
        System.out.println(hour1+":"+minute1+":"+second1+"与"+hour2+":"+minute2+":"+second2+"的时间差值为:");
        System.out.println(hour+":"+minute+":"+second);
    }

    /**
     * 判断时
     * @param num
     * @return
     */
    public static boolean hournums(int num){
        if (num>0&&num<24){
            return true;
        }else {
            System.out.println("输入不符合规范!请重新输入!");
            return false;
        }
    }
    public static boolean hournums(int num1,int num){
        if (num>0&&num<24&&num>=num1){
            return true;
        }else {
            System.out.println("输入不符合规范!请重新输入!");
            return false;
        }
    }

    /**
     * 判断分
     * @param num
     * @return
     */
    public static boolean minutenums(int num1,int num){
        if (num>0&&num<60&&num>=num1){
            return true;
        }else {
            System.out.println("输入不符合规范!请重新输入!");
            return false;
        }
    }
    public static boolean minutenums(int num){
        if (num>0&&num<60){
            return true;
        }else {
            System.out.println("输入不符合规范!请重新输入!");
            return false;
        }
    }

    /**
     * 判断秒
     * @param num
     * @return
     */
    public static boolean secondnums(int num1,int num){
        if (num>0&&num<=60&&num>=num1){
            return true;
        }else {
            System.out.println("输入不符合规范!请重新输入!");
            return false;
        }
    }
    public static boolean secondnums(int num){
        if (num>0&&num<=60){
            return true;
        }else {
            System.out.println("输入不符合规范!请重新输入!");
            return false;
        }
    }

    /**
     * 计算时差
     * @param hour1
     * @param hour2
     * @return
     */
    public static int hours(int hour1,int hour2){
        return hour2-hour1;
    }

    /**
     * 计算分差
     * @param minute1
     * @param minute2
     * @return
     */
    public static int minutes(int minute1,int minute2){
        return minute2-minute1;
    }

    /**
     * 计算秒差
     * @param second1
     * @param second2
     * @return
     */
    public static int seconds(int second1,int second2){
        return second2-second1;
    }
}

C版本的,devc++上可直接运行

#include <stdio.h>
/*函数声明*/
int hournums(int num);
int hournums(int num1,int num);
int minutenums(int num);
int minutenums(int num1,int num);
int secondnums(int num);
int secondnums(int num1,int num);
int hours(int hour1,int hour2);
int minutes(int minute1,int minute2);
int seconds(int second1,int second2);
 
int main(){
    printf("欢迎使用Muyan时间计算器\n");
    int f=0;
    int x=0;
    int hour=0;
    int minute=0;
    int second=0;
    int hour1=0;
    int minute1=0;
    int second1=0;
    int hour2=0;
    int minute2=0;
    int second2=0;

	while(x==0){
		do {
            printf("请输入起始时间:时\n");
            scanf("%d",&hour1);
            f=hournums(hour1);
        } while (f==1);

        do {
            printf("请输入起始时间:分\n");
            scanf("%d",&minute1);
            f=minutenums(minute1);
        }while (f==1);

        do {
            printf("请输入起始时间:秒\n");
            scanf("%d",&second1);
            f=secondnums(second1);
        }while (f==1);

        do {
            printf("请输入终止时间:时\n");
            scanf("%d",&hour2);
            f=hournums(hour1,hour2);
        }while (f==1);

        do {
            printf("请输入终止时间:分\n");
            scanf("%d",&minute2);
            if (hour2==hour1){
                f=minutenums(minute1,minute2);
            }else {
                f=minutenums(minute2);
            }
        }while (f==1);

        do {
            printf("请输入终止时间:秒\n");
            scanf("%d",&second2);
            if (hour2==hour1&&minute1==minute2){
                f = secondnums(second1,second2);
            }else {
                f = secondnums(second2);
            }
        }while (f==1);

        //shi
        hour=hours(hour1,hour2);
        //fen
        if (minute2-minute1<0&&hour>0){
            minute=minutes(minute1,minute2+60);
            hour=hour-1;
        }

        //miao
        if (second2-second1<0&&minute>0){
            second=seconds(second1,second2+60);
            minute=minute-1;
        } else if (minute==0&&hour>0) {
            hour=hour-1;
            minute=minute+60;
            second=seconds(second1,second2+60);
            minute=minute-1;
        }else {
            second=seconds(second1,second2);
        }
        //shuchujieguo
        printf("%d : %d : %d 与 %d : %d : %d 的时间差值为:\n",hour1,minute1,second1,hour2,minute2,second2);
        printf("%d : %d : %d\n",hour,minute,second);
        
		do{
        	printf("是否继续使用?(是:0     否:1)\n");
        	scanf("%d",&x);
			if(x==0){
				
			}else if(x==1){
				return 0;
			}else{
				printf("输入错误,请输入正确的数字!\n");
				x=2;
			}
		}while(x==2);		
	}
	return 0;
}
    int hournums(int num){
        if (num>0&&num<24){
            return 0;
        }else {
            printf("输入不符合规范!请重新输入!\n");
            return 1;
        }
    }
    int hournums(int num1,int num){
        if (num>0&&num<24&&num>=num1){
            return 0;
        }else {
            printf("输入不符合规范!请重新输入!\n");
            return 1;
        }
    }
    int minutenums(int num1,int num){
        if (num>0&&num<60&&num>=num1){
            return 0;
        }else {
            printf("输入不符合规范!请重新输入!\n");
            return 1;
        }
    }
    int minutenums(int num){
        if (num>0&&num<60){
            return 0;
        }else {
            printf("输入不符合规范!请重新输入!\n");
            return 1;
        }
    }
    int secondnums(int num1,int num){
        if (num>0&&num<=60&&num>=num1){
            return 0;
        }else {
            printf("输入不符合规范!请重新输入!\n");
            return 1;
        }
    }
    int secondnums(int num){
        if (num>0&&num<=60){
            return 0;
        }else {
            printf("输入不符合规范!请重新输入!\n");
            return 1;
        }
    }
    int hours(int hour1,int hour2){
        return hour2-hour1;
    }
    int minutes(int minute1,int minute2){
        return minute2-minute1;
    }
    int seconds(int second1,int second2){
        return second2-second1;
    }

exe:

在这里插入图片描述
百度网盘:
链接:https://pan.baidu.com/s/1dImp7m1cPKR8mnav4i6efA?pwd=mymy
提取码:mymy

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值