zoukankan      html  css  js  c++  java
  • 时分秒计算案例

    在程序中,经常要对时间进行操作,但是并没有时间类型的数据。那么,我们可以自己实现一个时间类,来满足程序中的需要。
    定义名为MyTime的类,其中应有三个整型成员:时(hour),分(minute),秒(second),为了保证数据的安全性,这三个成员变量应声明为私有。
    为MyTime类定义构造方法,以方便创建对象时初始化成员变量。
    再定义diaplay方法,用于将时间信息打印出来。

    为MyTime类添加以下方法:
    addSecond(int sec)
    addMinute(int min)
    addHour(int hou)
    subSecond(int sec)
    subMinute(int min)
    subHour(int hou)
    分别对时、分、秒进行加减运算。

    /*
     * 3、【练习题】类的成员变量与方法、构造方法
    在程序中,经常要对时间进行操作,但是并没有时间类型的数据。那么,我们可以自己实现一个时间类,来满足程序中的需要。
    定义名为MyTime的类,其中应有三个整型成员:
    时(hour),分(minute),秒(second),为了保证数据的安全性,这三个成员变量应声明为私有。
    为MyTime类定义构造方法,以方便创建对象时初始化成员变量。
    再定义diaplay方法,用于将时间信息打印出来。
    
    为MyTime类添加以下方法:
    addSecond(int sec)
    addMinute(int min)
    addHour(int hou)
    subSecond(int sec)
    subMinute(int min)
    subHour(int hou)
    分别对时、分、秒进行加减运算。
     */
    import java.util.Scanner;
    public class MyTime {
    	//属性
    	private int hour;
    	private int minute;
    	private int second;
    	//存放相加减后的结果
    	int seconds;
    	int minutes;
    	int hours;
    	//存放自定义的时间
    	int hou=5;
    	int min=12;
    	int sec=32;
    	
    	//构造方法实现初始化
    	public MyTime(int hou,int min,int sec){
    		this.hour=hou;
    		this.minute=min;
    		this.second=sec;
    	}
    	//实现对小时的加法运算
    		public void addHour(int hou){
    			//实现两个小时数相加
    			 hours=this.hour+hou;
    			//如果和大于24,则求余
    			if(hours>24){
    				hours%=24;
    			}
    		}
    		//实现对小时的减法运算
    		public void subHour(int hou){
    			hours=this.hour-hou;
    			if(hours>0){
    				//如果向减的小时数为正
    				hours=this.hour-hou;
    			}else{
    				//如果相减的小时数为负
    				int befhour=this.hour-hou;
    				hours=24-(-befhour);
    			}
    		}
    		//实现对分钟的加法运算
    		public void addMinute(int min){
    			//分钟数相加
    			minutes=this.minute+min;
    			//如果分钟数之和,大于60,则求余
    			if(minutes>60){
    				minutes%=60;
    			}
    		}
    		//实现对分钟的减法运算
    		public void subMinute(int min){
    			//如果分钟数之差大于0
    			minutes=this.minute-min;
    			if(minutes>0){
    				minutes=this.minute-min;
    			}else{
    				//如果分钟数之差小于0
    				//向小时位借1,则为60分钟
    				int befmin=this.minute-min;
    				minutes=60-(-befmin);
    				//被减数的小时数减1
    				this.hour--;
    			}
    		}
    		//实现对秒数的加法运算
    		public void addSecond(int sec){
    			//秒数相加
    			seconds=this.second+sec;
    			//如果秒数之和大于60,则求余
    			if(seconds>60){
    				seconds%=60;
    			}
    			
    		}
    		//实现对秒数的减法运算
    		public void subSecond(int sec){
    			//如果秒数之差大于0
    			seconds=this.second-sec;
    			if(seconds>0){
    				seconds=this.second-sec;
    			}else{
    				//如果秒数之差小于0
    				//向分钟位借1,则为60秒
    				int befsec=this.second-sec;
    				seconds=60-(-befsec);
    				//被减数的分钟数减1
    				this.minute--;
    			}
    		}
    		//打印出时间信息
    		public void display(){
    			System.out.println("自定义时间为:");
    			System.out.println(hou+"	"+min+"	"+sec);
    			System.out.println();
    			
    			System.out.println("相减/加后的结果为");
    			System.out.println(hours+"	"+minutes+"	"+seconds);
    		}
    }
    

      

    import java.util.Scanner;
    public class Test3 {
    	public static void main(String[] args) {
    		Scanner input=new Scanner(System.in);
    		int temp=-1;
    		//初始化时,分,秒
    		MyTime mt=new MyTime(5, 12, 32);
    		
    		System.out.println("请输入小时数");
    		int Hour=input.nextInt();
    		System.out.println("请选择进行加法还是减法(+  0)(-  1),输入0或1:");
    		temp=input.nextInt();
    		if(temp==0){
    			//选择加法
    			mt.addHour(Hour);
    		}else{
    			//选择减法
    			mt.subHour(Hour);
    		}
    				
    		System.out.println("请输入分钟数");
    		int Minute=input.nextInt();
    		System.out.println("请选择进行加法还是减法(+  0)(-  1),输入0或1:");
    		temp=input.nextInt();
    		if(temp==0){
    			mt.addMinute(Minute);
    		}else{
    			mt.subMinute(Minute);
    		}
    		
    		System.out.println("请输入秒数");
    		int Second=input.nextInt();
    		System.out.println("请选择进行加法还是减法(+  0)(-  1),输入0或1:");
    		temp=input.nextInt();
    		if(temp==0){
    			mt.addSecond(Second);
    		}else{
    			mt.subSecond(Second);
    		}
    		mt.display();
    		
    	}
    
    	
    
    }
    

      

    时间最会骗人,但也能让你明白,这个世界上没有什么是不能失去的,留下的尽力珍惜,得不到的都不重要
  • 相关阅读:
    NOIP2002字串变换[BFS]
    NOIP2000单词接龙[DFS]
    NOIP2003传染病控制[按层DFS]
    NOIP1999邮票面值设计[搜索|DP]
    USACO1.1Broken Necklace[环状DP作死]
    洛谷P1120小木棍[DFS]
    NOIP2000进制转换
    Miller-Rabin素数快速检测
    【数论算法理论与实现】
    洛谷P1141 01迷宫
  • 原文地址:https://www.cnblogs.com/www-x/p/8025342.html
Copyright © 2011-2022 走看看