课后作业 04 --DateTime应用,判断多久后生日之类

           try
            {
                Console.Write("请以年-月-日的形式输入您的生日:");
                string strA = Console.ReadLine();
                DateTime bir = Convert.ToDateTime(strA);
                DateTime tod = DateTime.Today;
                strA = bir.ToString("MM-dd");//将输入生日转换为月 日格式
                string strB = tod.ToString("MM-dd");//今天月 日
                bir = DateTime.Parse(strA);//再将生日字符串转换成日期
                tod = DateTime.Parse(strB);
                TimeSpan ti = bir - tod;//时间间隔
                int j = ti.Days,k;
                if (j >= 0)
                {
                    if (j == 0)
                        Console.WriteLine("您今天生日,生日快乐!");
                    else
                    Console.WriteLine("您的生日距今还有"+j+"天");//还有多久生日
                }
                else
                {
                    DateTime tod2 = tod.AddYears(1);
                    TimeSpan t2 = tod2 - tod;
                    k = t2.Days;
                    bir = bir.AddYears(1);
                    //TimeSpan t3 = tod2 - bir;
                    //k = t2.Days - t3.Days;//第二种判断方法
                    Console.WriteLine("您今年生日已过,明年生日距今还有"+ (k+j) +"天");//明年生日,还有多久

                }

                Console.WriteLine("您的生日是在" + bir.DayOfWeek + "," +"是生日当年的第"+ bir.DayOfYear +"天");
            }
            catch
            {
                Console.WriteLine("您输入的格式有误!");
            }
            Console.ReadLine();

  

时间: 2024-12-16 00:22:54

课后作业 04 --DateTime应用,判断多久后生日之类的相关文章

Homework!---判断多久过生日

try{ Consloe.Write("请输入您的生日"); string s=Consloe.Readline(); DateTime bd=Covnert.ToDateTime(s); DateTime td=DateTime.Today; if(bd>td) { TimeSpan Ts1=bd-td; Consloe.WriteLine("据您的生日天数有"+ts1.TotalDays+"天"); } else { TimeSpan

课后作业

课后作业 "类型转换"知识点考核-2 程序源代码: 1 class Mammal{} 2 class Dog extends Mammal {} 3 class Cat extends Mammal{} 4   5 public class TestCast 6 { 7      public static void main(String args[]) 8      { 9             Mammal m; 10             Dog d=new Dog();

课后作业5

动手动脑1:运行示例代码,查看结果,解释为什么是这个结果,从中你能总结出什么? 运行结果:tru truefalse 分析结果:s1,s2,s0均指向hello字符串常量的地址.所以在执行过程中,Java对于同一字符串是不会开辟新的空间的,而在最后的两者的内容虽然相同,但是他们的地址不同所以不等. 动手动脑2:查看String.equals()方法的实现代码 结果分析:s1==s2是判断地址和值,equals()仅仅判断值,s1,s2的值相同,但是地址不同,s3,s4的地址,内容都相同. 动手动

异常处理---动手动脑及课后作业

动手动脑1:请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识. 源码: import javax.swing.*; class AboutException { public static void main(String[] a) { int i=1, j=0, k; k=i/j; try { k = i/j; // Causes division-by-zero exception //throw new Exception

课后作业---字符串

一.课后作业一 1.设计思想:根据题意,首先提示输入要进行的操作:解密或加密,然后输入一个字符串,利用charAt()方法将改变的字母连接到结果上,加密:将前23个大小写字母+3,后3个-23强制转化为char:解密:后23个大小写字母-3,前3个+23.再根据结果进行改变,添加提示. 2.程序流程图: 3.源代码: package T4; //胡建峰,2016.10.25 //字串加密 import java.util.Scanner; public class Test { public s

JAVA第三周课后作业

JAVA课后作业 一.枚举类型 代码: enum Size{SMALL,MEDIUM,LARGE}; public cl ass EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t);  // //是原始数据类型吗? System.out.println(s.getClass().isPrimi

第七讲 数组动手动脑和课后作业

[动手动脑1] 数据作为方法参数示例代码 int[] arr= new int[ 24 ]; -- modifyArray( arr ); 阅读并运行示例PassArray.java,观察并分析程序输出的结果,小结,然后与下页幻灯片所讲的内容进行对照. // PassArray.java // Passing arrays and individual array elements to methods public class PassArray { public static void ma

课后作业和动手动脑(字符串)

动手动脑1: (1)       在Java中,内容相同的字串常量(“Hello”)只保存一份以节约内存,所以s0,s1,s2实际上引用的是同一个对象. (2)       编译器在编译s2一句时,会去掉“+”号,直接把两个字串连接起来得一个字串(“Hello”).这种优化工作由Java编译器自动完成. (3)       当直接使用new关键字创建字符串对象时,虽然值一致(都是“Hello”),但仍然是两个独立的对象 动手动脑2: equals所在位置: 在Object类当中,而Object是

第四讲动手动脑集课后作业

一.动手动脑 1.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. 源代码: //huzejie20161016//生成指定数目的随机数import java.util.Scanner;public class Suijishu { public static void main(String[] args) { System.out.print("请输入要输出多少个随机数:"); Scanner s = new Scanner(System.in); int n