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