try catch

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace trycatch
{
class Program
{
static void Main(string[] args)
{
//异常语句try catch finally
//try//保护执行里面的代码段,若其中一句有误,直接跳转到catch
//{//不管下面的内容
// Console.Write("请输入一个整数");
// int a = int.Parse(Console.ReadLine());
// Console.WriteLine("hello");
//}
//catch//try中发现异常,直接执行,若try中无错,不执行
//{
// Console.WriteLine("输入有误!");
//}
//finally //不管对错都执行
//{
// Console.WriteLine("谢谢使用,再见");
//}
//Console.ReadLine();

// System.Threading.Thread.Sleep(2000);//间隔2秒

int m1 = 31, m3 = 31, m4 = 30, m5 = 31, m6 = 30, m7 = 31, m8 = 31, m9 = 30, m10 = 31, m11 = 30, m12 = 31;
int m2 = 0;
int year;
string y;
int a = 0;
int b = 0;
for (; ; )
{
for (; ; )
{
try
{

Console.WriteLine("请输入一个年份: ");
year = int.Parse(Console.ReadLine());
break;
}
catch
{
Console.WriteLine("您输入的年份格式有误");
}
}
if (year >= 0 && year <= 9999)
{
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
y = "您输入的年份是闰年!";
m2 = 29;
}
else
{
y = "您输入的是平年!";
m2 = 28;
}
for (; ; )
{
for (; ; )
{
try
{
Console.WriteLine("请输入月份:");
a = int.Parse(Console.ReadLine());
break;
}
catch
{
Console.WriteLine("您输入的月份格式有误");
}
}

if (a > 0 && a < 13)
{

for (; ; )
{
for (; ; )
{
try
{
Console.Write("请输入日: ");
b = int.Parse((Console.ReadLine()));
break;
}
catch
{
Console.WriteLine("您输入的日期格式有误");
}
}

if ((((a == 1 || a == 3 || a == 5 || a == 7 || a == 8 || a == 10 || a == 12)) && (b > 0 && b < 32)) || ((a == 4 || a == 6 || a == 9 || a == 11) && (b > 0 && b < 31)) || ((a == 2) && (b > 0 && b < (m2 + 1))))
{
switch (a)
{
case 1:
Console.WriteLine("今年过了 " + (b) + " 天了");
break;
case 2:
Console.WriteLine("今年过了 " + (m1 + b) + " 天了");
break;
case 3:
Console.WriteLine("今年过了 " + (m1 + m2 + b) + " 天了");
break;
case 4:
Console.WriteLine("今年过了 " + (m1 + m2 + m3 + b) + " 天了");
break;
case 5:
Console.WriteLine("今年过了 " + (m1 + m2 + m3 + m4 + b) + " 天了");
break;
case 6:
Console.WriteLine("今年过了 " + (m1 + m2 + m3 + m4 + m5 + b) + " 天了");
break;
case 7:
Console.WriteLine("今年过了 " + (m1 + m2 + m3 + m4 + m5 + m6 + b) + " 天了");
break;
case 8:
Console.WriteLine("今年过了 " + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + b) + " 天了");
break;
case 9:
Console.WriteLine("今年过了 " + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + b) + " 天了");
break;
case 10:
Console.WriteLine("今年过了 " + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + b) + " 天了");
break;
case 11:
Console.WriteLine("今年过了 " + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + b) + " 天了");
break;
case 12:
Console.WriteLine("今年过了 " + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + m11 + b) + " 天了");
break;
default:
Console.WriteLine("您输入的有误");
break;
}
Console.WriteLine(y + "日期是" + year + "年" + a + "月" + b + "日");

break;

}
else
{
Console.WriteLine("您输入的日有误");
}
} break;

}
else
{
Console.WriteLine("您输入的月份有误");
}

}

}

else
{
Console.WriteLine("您输入的年份有误");
}

}

}
}

}

C#第九节课的更多相关文章

  1. centos 文档的压缩和打包 gzip,bzip2,xz,zip,unzip,tar,tgz 第九节课

    centos  文档的压缩和打包   gzip,bzip2,xz,zip,unzip,tar,tgz  第九节课 SAS盘可以支持热插拔,看机器 tar.zip.tar -czvf 不会动源文件,gz ...

  2. 《linux就该这么学》第九节课:第七章,RAID阵列和LVM逻辑卷技术

    笔记 (借鉴请改动) 7.1.RAID(独立冗余磁盘阵列) 常见的几种RAID:RAID0,RAID1,RAID5,RAID10   raid0  实现写入速度但安全性略低. raid1 实现了速度和 ...

  3. 9、第九节课jquery选择器jq2,20151007

    1.表单选择器 2.not 里面不能加其他标签 $div p:not(not:disable)  错误的 $div p:not(:disable)  正确的 3.选择设置相应属性的标签项 $(&quo ...

  4. Linux第九节课学习笔记

    fdisk可添加.删除.转换分区. 创建主分区:n-p-w:扩展分区:n-e:逻辑分区:n-l. SWAP分区专用格式化命令mkswap,专用挂载命令swapon. 磁盘容量配额中,硬限制必须,软限制 ...

  5. 第九节课-CNN架构

    2017-08-21 这次的课程比较偏向实际的运用,介绍了当前几种比较主流的CNN网络: 主要是AlexNet,GoogleNet, VGG, ResNet 需要把课后习题做了才能更好的理解.

  6. php第九节课

    面向对象 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...

  7. html第九节课

    正则表达式和marquee 1.表单验证<form></form> (1).非空验证(去空格) (2).对比验证(跟一个值对比) (3).范围验证(根据一个范围进行判断) (4 ...

  8. centos linux安全和调优 第四十一节课

    centos  linux安全和调优    第四十一节课 上半节课 Linux安全 下半节课 Linux调优 2015-07-01linux安全和调优 [复制链接]--http://www.apele ...

  9. centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课

    centos   shell编程6一些工作中实践脚本   nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志  直接送给bc做计算  gzip  innobacku ...

随机推荐

  1. ZendFramework2学习笔记 表单过滤、表单验证

    ZF2有非常多内建的Filter和Validator组件,能够方便地对表单数据进行处理. Filter的作用是过滤表单数据.比如,去除一些空格,替换一些敏感词等. Validator的作用是检验表单数 ...

  2. 转:分布式事务之TCC服务设计和实现注意事项

    由公司微服务培训引起的一丢丢对TCC的好奇 原文:https://yq.aliyun.com/articles/609854 一.TCC简介 TCC是一种比较成熟的分布式事务解决方案,可用于解决跨库操 ...

  3. ant+jmeter中build.xml配置详解

  4. cannot find -l****问题的解决的方法

    在ubuntu下编译C或cpp文件时,可能会出现找不到链接库的问题,其形式为: cannot find -l**** 这里的**通常是指的链接库.比方,刚刚装好opencv,依照网上教程一步步编译好了 ...

  5. vim copy termi

    用vim写代码时,经常遇到这样的场景,复制多行,然后粘贴. 这样做:1. 将光标移动到要复制的文本开始的地方,按v进入可视模式.2. 将光标移动到要复制的文本的结束的地方,按y复制.此时vim会自动将 ...

  6. ledisDB底层实现——本质上就是用leveldb这样的底层存储,和ssdb一样,meta里存的是hash、list等的元数据

    Hash hash可以算是一种两级kv,首先通过key找到一个hash对象,然后再通过field找到或者设置相应的值. 在ledisdb里面,我们需要将key跟field关联成一个key,用来存放或者 ...

  7. hdu 6082 度度熊与邪恶大魔王(2017"百度之星"程序设计大赛 - 资格赛 )

    度度熊与邪恶大魔王 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  8. 【BZOJ 3790】 神奇项链

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3790 [算法] manacher + 贪心 [代码] #include<bit ...

  9. 442C

    贪心 感觉思路很奥妙 首先我们把那些比两边小的数删掉,因为不删的话两边的数就会选这个数,这样就成了先上升后下降的序列,很明显除了第一第二大的数都能选,然后统计就好了. #include<bits ...

  10. dijkstra的stl实现(最近觉得挺方便的

    dijkstra的stl实现(最近觉得挺方便的 stl可作为跳板 --- Rujia liu struct node { int dis, id; node(int dis = 0, int id = ...